【发布时间】:2016-08-29 00:32:03
【问题描述】:
我正在尝试使用 MailKit 通过 Gmail 发送电子邮件。这是我的代码:
using MailKit.Net.Smtp;
using (var client = new SmtpClient())
{
client.Connect("smtp.gmail.com", 587, false);
//...
}
但无论我尝试什么,我总是会遇到以下异常:
System.IO.IOException:认证或解密失败。
我已经尝试在我的 Google 帐户中启用“不安全的应用程序”,但这没有帮助。到目前为止,我找不到任何显示如何通过 Gmail 发送邮件的工作示例。
编辑: 我刚刚尝试在 WINdows 上运行代码(使用 .NET),它运行良好。电子邮件立即发送。只有当我使用 Mono 在 Linux/OSX 上运行它时,它才不起作用。
【问题讨论】:
-
错误给了你所有的提示。
authentication你在哪里传递 gmail 帐户的用户名和密码。还有很多关于如何使用标准的工作示例。 net 的 smtp 类.. 尝试在谷歌上搜索如何使用 smtp 向 gmail 发送电子邮件 -
@MethodMan:用户名和密码是在调用 connect 方法之后提供的。你用过MailKit吗?至于 .NET Smtp 类:我尝试了 Stack Overflow 上的四个不同示例。他们都没有工作。它们还会产生类似的身份验证异常。
-
@Sylverac:如果它使用完全不同的框架(MailKit,而不是 .NET SMTP 类),它怎么可能是重复的?
-
也许这有帮助。 mimekit.net/docs/html/…,client.Connect(“smtp.gmail.com”,465,SecureSocketOptions.SslOnConnect);