簡體   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