繁体   English   中英

如何使用C#从我的公司gmail地址通过SMTP发送电子邮件

[英]How to send email via SMTP from my corporate gmail address using C#

使用C#从个人gmail地址发送电子邮件是一个非常常见的问题。 互联网上有数百个与此相关的线程。 我的问题是从我的g-suite帐户(info@mydomain.com)发送电子邮件。 我尝试了以下步骤

  1. 允许在Gmail中使用不太安全的应用 在此处输入图片说明
  2. 通过以下代码发送电子邮件

      SmtpClient client = new SmtpClient(FINAPApplicationSettings.SmtpServer, FINAPApplicationSettings.SmtpServerPort); client.UseDefaultCredentials = false; client.EnableSsl = true; client.Credentials = new NetworkCredential("info@mydomain.com", "email password"); MailMessage mailMessage = new MailMessage(); mailMessage.From = new MailAddress("info@mydomain.com"); mailMessage.To.Add("receiver@receiverdomain.com"); mailMessage.IsBodyHtml = true; mailMessage.Body = "Email Body"; mailMessage.Subject = "FINAP REGISTRATION VERIFICATION"; 

尝试发送电子邮件时,我收到此异常。 SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.5.1需要身份验证 ”我从azure购买了该域(mydomain.com)。 这个不是g-suite的管理员帐户。 但是我可以访问管理员帐户。 非常感谢您对此的帮助。

我刚刚在我的公司G-Suite帐户上测试了您的代码。

在允许用户管理自己的设置之后,您需要确保将NetworkCredential对象中提供的用户名配置为“允许安全性较低的应用程序”。 您可以通过以下方式获得它:

  1. 使用户能够管理自己的设置(您已经完成了此操作)
  2. (在这种情况下)转到info@mydomain.comGoogle帐户页面
  3. 点击“登录和安全”
  4. 滚动到底部,并确保滑块处于打开状态。

第一步可能需要一些时间才能传播到G-Suite中的所有用户。

注意:如果密码或用户名不正确,也会出现此错误。

如果已完成上述所有操作,但仍然无法使用,则可能需要在DNS设置中配置SPF。 请参阅使用SPF授权电子邮件发件人

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM