我要在下载附件后删除电子邮件。我有写代码到 下载电子邮件附件,但我不知道如何删除电子邮件。
在这种情况下,我使用了S22.Imap命名空间来读取Gmail电子邮件并下载电子邮件附件。
所以任何人都知道如何从收件箱中删除电子邮件或将其存储到另一个文件夹。
using S22.Imap;
static void Main(string[] args)
{
const string username = "email";
const string password = "password";
ImapClient imap = new ImapClient("imap.gmail.com", 993, true, null);
imap.Login(username, password, AuthMethod.Login);
if(imap.Authed)
{
IEnumerable<string> mailbox = imap.ListMailboxes();
IEnumerable<uint> allMailsID =
imap.Search(SearchCondition.All(),"INBOX");
IEnumerable<MailMessage> allMails = imap.GetMessages(allMailsID,
true, "INBOX");
string filePath = string.Format(@"D:\Folders\InputFolder\");
foreach (MailMessage mail in allMails)
{
AttachmentCollection attachColl = mail.Attachments;
if(attachColl.Count > 0)
{
foreach (var item in attachColl)
{
//Console.WriteLine("Name :"+ item.Name);
string date =
Convert.ToDateTime(mail.Headers["Date"]).ToShortDateString();
CopyStream(item.ContentStream, (filePath +
item.Name));
}
}
}
}
Console.ReadLine();
}
public static void CopyStream(Stream stream, string destPath)
{
using (var fileStream = new FileStream(destPath, FileMode.Create, FileAccess.Write))
{
stream.CopyTo(fileStream);
}
}
}