我正在使用Xamarin android(C#),并且具有以下用于接收电子邮件的代码:
using (var client = new Pop3Client())
{
gstrEmailMessages = DateTime.Now.ToString("HH:mm:ss");
client.ServerCertificateValidationCallback = (s, c, h, e) => true;
client.SslProtocols = System.Security.Authentication.SslProtocols.Tls12;
client.Connect("pop.gmail.com", 995, true);
client.AuthenticationMechanisms.Remove("XOAUTH2");
client.Authenticate("xxx@gmail.com", "yyyy"); //actual values not shown here
//Fetch emails:
for (int i = 0; i < client.Count; i++)
{
var message = client.GetMessage(i);
gstrEmailMessages = gstrEmailMessages + "Subject: {0} " + message.Subject + "\n";
}
//Disconnect connection:
client.Disconnect(true);
KMsScannedTextView = FindViewById<TextView>(Resource.Id.KMsScannedTextView_id);
KMsScannedTextView.Text = gstrEmailMessages;
}
我已设置我的Gmail帐户以显示 状态:所有邮件均已启用POP 和 状态:IMAP已禁用 有4封电子邮件正在等待查看。 (当有29封电子邮件等待时,导致错误。) 该应用程序可以编译并正常运行,上面的代码位于一个按钮下(当前),当我点击该按钮时,该应用程序成功运行了该代码,没有错误-但未显示任何电子邮件-而是显示了正确的时间(请参见上面的gstrEmailMessages )在KMsScannedTextView文本视图中。 文本视图当然应该显示'Subject:{0}“ + message.Subject +” \ n“'四次的结果。 还有一个按钮可以在文本视图KMsScannedTextView中重新显示gstrEmailMessages,所以我知道没有延迟。 我还应该寻找什么以找出为什么没有显示电子邮件? For循环在某种程度上是错误的吗?
当然,当所有方法都可以正常使用时,我会对其进行设置,但是上面的这段代码仅是暂时的。
谢谢。
答案 0 :(得分:0)
您需要进入GMail设置,转到转发和IMAP / POP 标签,然后将POP设置更改为
这些很有可能不是您当前的设置,因此即使看起来 在Web客户端中收件箱中也有4条消息,MailKit的Pop3Client却看到0条消息。
>