gpt4 book ai didi

c# - 如何使用 c# 或 python 发送所有 gmail 草稿

转载 作者:行者123 更新时间:2023-12-01 05:20:42 36 4
gpt4 key购买 nike

我总是使用 Gmail 来保存网页剪辑或笔记。我只需创建一封新邮件,对其进行编辑并另存为草稿。两年多来,我已将 1000 多封邮件转储到 Gmail 草稿文件夹中。我想以编程方式将它们全部发送给自己。我做了一些研究,现在我可以使用 python 或 c# 通过 IMAP 加载我的 gmail 收件箱消息,或者创建邮件并通过 SMTP 发送。但是我仍然无法阅读草稿消息并将其发送给自己。

(为什么我使用 GMail 作为笔记存储,而不是使用 Evernote、MS OneNote 或 Apple Notes 等笔记应用程序?因为电子邮件在任何平台或设备上都能得到更好的支持。通常有预装的电子邮件客户端,而且更容易查找或定义“创建新邮件”键盘快捷键而不是“导出到 Evernote”键盘快捷键。)

最佳答案

如果您使用MailKit ,您可以这样做:

using System;
using System.Net;
using System.Threading;

using MailKit.Net.Imap;
using MailKit.Net.Smtp;
using MailKit;
using MimeKit;

namespace TestClient {
class Program
{
public static void Main (string[] args)
{
using (var client = new ImapClient ()) {
var credentials = new NetworkCredential ("jimbo", "password");

client.Connect (new Uri ("imaps://imap.gmail.com"), CancellationToken.None);
client.Authenticate (credentials, CancellationToken.None);

var folder = client.GetFolder (SpecialFolder.Drafts);
folder.Open (FolderAccess.ReadWrite, CancellationToken.None);

using (var smtp = new SmtpClient ()) {
smtp.Connect (new Uri ("smtps://smtp.gmail.com"), CancellationToken.None);
smtp.Authenticate (credentials, CancellationToken.None);

var indexes = new int[folder.Count];
for (int i = 0; i < folder.Count; i++) {
var message = folder.GetMessage (i, CancellationToken.None);

// if you haven't already specified a recipient, do it now:
message.To.Add (new MailboxAddress ("Jimbo", "jimbo@gmail.com"));

smtp.Send (message, CancellationToken.None);
indexes[i] = i;
}

// if you also want to delete the messages on the IMAP server:
folder.AddFlags (indexes, MessageFlags.Deleted, true, CancellationToken.None);
folder.Close (true, CancellationToken.None);

smtp.Disconnect (true, cancellationToken.None);
}

client.Disconnect (true, cancellationToken.None);
}
}
}
}

关于c# - 如何使用 c# 或 python 发送所有 gmail 草稿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22458537/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com