当前位置: 首页 > 知识库问答 >
问题:

通过gmail使用SMTP发送电子邮件

丌官子安
2023-03-14

我在ASP. Net Core中工作,并尝试从gmail使用smtp客户端发送电子邮件。有以下代码,但不起作用也看过以下帖子,但不起作用http://dotnetthoughts.net/how-to-send-emails-from-aspnet-core/

它会跟踪错误

系统NotSupportedException:SMTP服务器不支持身份验证

var emailMessage = new MimeMessage();
emailMessage.From.Add(new MailboxAddress("From Name", "fromEmail@gmail.com"));
emailMessage.To.Add(new MailboxAddress("To Name", "toEmail@gmail.com"));
emailMessage.Subject = subject;

var bodyBuilder = new BodyBuilder();
bodyBuilder.HtmlBody = message;
emailMessage.Body = bodyBuilder.ToMessageBody();

var client = new SmtpClient();
try
{
    await client.ConnectAsync("smtp.gmail.com", 25, SecureSocketOptions.None).ConfigureAwait(false);
    client.AuthenticationMechanisms.Remove("XOAUTH2");  
    await client.AuthenticateAsync("fromEmail@gmail.com", "fromPassword"); //error occurs here

    await client.SendAsync(emailMessage).ConfigureAwait(false);
    await client.DisconnectAsync(true);
    await client.DisconnectAsync(true).ConfigureAwait(false);
}
catch(Exception e)
{

}

共有1个答案

左丘宜年
2023-03-14

抛出NotSupportedException是因为GMail不支持不使用SSL/TLS连接的身份验证,因为它只支持基于密码的非加密身份验证机制。

我建议您这样连接:

client.ConnectAsync("smtp.gmail.com", 587, SecureSocketOptions.StartTls)

希望这有帮助。

 类似资料:
  • 我正在使用C#使用SMTP和gmail服务器发送电子邮件。 下面是我用于发送电子邮件的代码。我遇到了一些错误,即。 SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:需要5.5.1身份验证。 我做错了什么?我如何使用gmail发送电子邮件。

  • 我尝试从这个问题设置服务器PHP Ubuntu使用gmail表单发送电子邮件localhost。所以我设置了(帐户)从: /etc/MSMTPC: 现在,当我尝试发送测试电子邮件(以root用户身份执行)时: 给出: 所以日志上写着<代码>

  • 以下代码https://stackoverflow.com/a/3649148一直有效,直到最近谷歌改变了他们的安全政策,它才被打破。 我收到了来自谷歌的邮件 你好,xxx,有人刚刚试图登录你的Google帐户xxx@gmail.com来自不符合现代安全标准的应用程序。 我们强烈建议您使用Gmail等安全应用程序访问您的帐户。Google制作的所有应用程序都符合这些安全标准。另一方面,使用不太安全

  • 我使用的PHPMailer表格在这里找到。 从网站下载的示例是“接触-3”,在引导主题中使用PHPMailer通过gmail发送SMTP电子邮件。当我使用“接触-1”时,它完全适用于我的托管域电子邮件地址,但SMTP版本适用于gmail地址,联系人表单不会提交。 在下面的代码中,我更改了以下行以添加我的gmail地址和gmail密码: 任何关于使用给定信息进行此工作的帮助都将不胜感激-提前感谢!

  • 我正在尝试使用Gmail SMTP服务器从我用CodeIgniter构建的应用程序发送电子邮件,但没有成功。我使用我的Gmail帐户作为用户,但为了保密,我正在更改这里的配置。我使用了下面的代码 以下是每次出现的2个错误消息: 遇到一个PHP错误 严重性:警告 消息:mail():无法连接到位于“”的邮件服务器ssl://smtp.googlemail.com端口465,验证php.ini中的“S

  • 下面是错误和超时异常。 输入代码: 调试SMTP:正在尝试连接到主机“SMTP.gmail.com”,端口587,isSSL true Exceptioninthread“main”java。lang.RuntimeException:com。太阳邮政util。MailConnectException:无法连接到主机,端口:smtp。gmail。com,587;超时-1。