我在monotouch xamarin上使用mailkit。我正在创建一个应用程序,将接收电子邮件(电子邮件客户端)。我让用户选择是否使用Pop3或IMAP连接协议。我的问题是,我无法找到解决方案,他如何可以删除Pop3和IMAP上的消息。我试过使用这个代码:
client.Inbox.AddFlags (new int[] { index }, MessageFlags.Deleted);
从这个帖子:MailKit删除单个邮件从gmail但这似乎对我不起作用。我用于捕获Pop3帐户电子邮件的代码是
using (var client = new Pop3Client ()) {
var credentials = new NetworkCredential (Convert.ToString (username), Convert.ToString (password));
var uri = new Uri (Convert.ToString ("pops://"+pop3));
using (var cancel = new CancellationTokenSource ()) {
client.Connect (uri, cancel.Token);
var _emailItems=new List<EmailItem>() ;
client.Authenticate (credentials, cancel.Token);
string[] mycell = new string[200];
int count = client.GetMessageCount (cancel.Token);
int lastcount;
for (int i = 0; i < count; i++) {
lastcount = (count - 1) - i;
var message = client.GetMessage (lastcount, cancel.Token);
}
}
}
不同的协议有不同的删除消息的方式。
对于POP3,您可以这样删除消息:
client.DeleteMessage (lastcount, cancel.Token);
(注意:除非你真的允许用户取消操作,否则你不需要使用cancel.Token
)
另一种删除您粘贴的消息的方法适用于IMAP。