【发布时间】:2017-04-13 13:16:58
【问题描述】:
我正在准备阅读来自 gmail 的邮件 使用 ImapClient :
using AE.Net.Mail;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Gmail.v1;
using Google.Apis.Gmail.v1.Data;
using Google.Apis.Plus.v1;
using Google.Apis.Plus.v1.Data;
using Google.Apis.Services;
using Google.Apis.Util.Store;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading;
using System.Web;
namespace Web.FrontOffice.Utils
{
public class Program
{
// If modifying these scopes, delete your previously saved credentials
// at ~/.credentials/gmail-dotnet-quickstart.json
public static void ReadMailFromGmail()
{
UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets { ClientId = "My_ClientId", ClientSecret = "My_ClientSecret" },
new[] { "https://mail.google.com/","https://www.googleapis.com/auth/userinfo.email"}, "user", CancellationToken.None, new FileDataStore("Analytics.Auth.Store")).Result;
// Create Gmail API service.
PlusService service = new PlusService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = "My App"});
// Define parameters of request.
Person me = service.People.Get("me").Execute();
Person.EmailsData myAccountEmail = me.Emails.Where(a => a.Type == "account").FirstOrDefault();
// List labels.
ImapClient ic = new ImapClient("imap.gmail.com", myAccountEmail.Value, credential.Token.AccessToken, AE.Net.Mail.AuthMethods.SaslOAuth, 993, true);
ic.SelectMailbox("INBOX");
// MailMessage represents, well, a message in your mailbox
var uids = ic.Search(SearchCondition.SentSince(new DateTime(2017, 4, 13)));
foreach (var uid in uids)
{
MailMessage message = ic.GetMessage(uid);
Debug.WriteLine(message.Body+" "+message.Subject+" "+message.Date);
}
}
}
}
在 AE.Net.Mail.dll 中出现“System.Exception”类型的异常,但未在用户代码中处理
附加信息:xm003 BAD 无法解析命令
【问题讨论】:
标签: asp.net-mvc email google-api gmail imap