有没有人有任何示例代码使用通过IMAP SSL连接到googlemail服务器的.Net框架来检查新电子邮件?
我正在尝试阅读Gmail中的电子邮件.我已经尝试了我能找到的每个API /开源项目,并且不能让它们中的任何一个工作.
有没有人有一个工作代码示例,可以让我从Gmail帐户验证和下载电子邮件?
最终工作版本发布如下:https://stackoverflow.com/a/19570553/550198
我想在我的ASP.NET应用程序中获取具有特定CC收件人的所有电子邮件.要将此用于将来的电子邮件,我不想一直轮询来获取它们.但我找不到办法,如何使用push立即收到电子邮件.他们在C#中的任何框架都可以帮助我吗?
我想将我的应用程序连接到邮件服务器并注册方法"X".总是当新邮件到达邮件服务器时,我的应用程序必须得到通知,我的应用程序应该执行方法'X'.
我希望这可以用这样的代码:
void Application_Start()
{
...
ConnectWithTheSmtpServer();
RegisterMethodForNotification(DoSomethink);
...
}
void DoSomethink(Mail newMail)
{
// Do Somethink with the mail
}
Run Code Online (Sandbox Code Playgroud)
编辑:
我用MailSystem.Net做到了.它工作得很好,很容易实现.
示例代码:
void Application_Start()
{
var worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(StartIdleProcess);
if (worker.IsBusy)
worker.CancelAsync();
worker.RunWorkerAsync();
}
private void StartIdleProcess(object sender, DoWorkEventArgs e)
{
if (_imap != null && _imap.IsConnected)
{
_imap.StopIdle();
_imap.Disconnect();
}
_imap = new Imap4Client();
_imap.ConnectSsl(server-name, 993);
_imap.Login(username, passwort);
var inbox = _imap.SelectMailbox("INBOX");
_imap.NewMessageReceived += new NewMessageReceivedEventHandler(NewMessageReceived);
inbox.Subscribe();
_imap.StartIdle();
} …Run Code Online (Sandbox Code Playgroud) 我被要求在C#中编写Windows服务以定期监视电子邮件收件箱,并将收到的任何消息的详细信息插入到数据库表中.
我的直觉是通过POP3做到这一点,果然,谷歌搜索".NET POP3组件"会产生无数(好的,146,000)结果.
有没有人以前做过类似的事情,你能推荐一个不会破坏银行的最佳组件(最多几百美元)吗?
使用IMAP而不是POP3会有什么好处吗?
考虑为Windows 8创建一个小型电子邮件客户端作为概念证明.我从来没有真正编写过电子邮件应用程序,看起来我选择了一个难以启动的地方,因为System.Net.Mail似乎无法存储应用程序.
关于c#中IMAP的这个主题有很多用于在c#中进行IMAP的库和组件的例子,但是大多数它们似乎依赖于WinRT中不可用的函数
我是否遗漏了一些显而易见的事情,或者我是否必须从头开始实施IMAP?
我想创建窗口应用程序,通过它我可以从gmail读取电子邮件.
实际上我想阅读正确的电子邮件格式,例如,来自主题,cc和正文.
using (Imap imap = new Imap())
{
imap.ConnectSSL("mail.company.com");
imap.Login("angel_y@company.com", "xyx***");
imap.SelectInbox();
List<long> uids = imap.SearchFlag(Flag.Unseen);
foreach (long uid in uids)
{
string eml = imap.GetMessageByUID(uid);
IMail message = new MailBuilder()
.CreateFromEml(eml);
Console.WriteLine(message.Subject);
Console.WriteLine(message.TextDataString);
}
imap.Close(true);
}
Run Code Online (Sandbox Code Playgroud)
这是错误.无法建立连接,因为目标计算机主动拒绝它
我想在C#中创建一个gmail通知程序.我通过解析Gmail原子Feed访问了未读邮件列表.但我想在我的应用程序中添加一项功能,以便用户可以直接将任何邮件标记为已读.任何人都知道如何做到这一点?