簡體   English   中英

通過 Google SMTP 發送郵件失敗

[英]Failure sending mail via Google SMTP

我仍然收到“發送郵件失敗”的消息。 例外。 內部異常是“無法連接到遠程服務器”,內部異常是“連接嘗試失敗,因為連接方在一段時間后沒有正確響應,或建立連接失敗,因為連接的主機沒有響應”。 我很確定這不是防火牆設置的原因。 有誰知道我能做些什么? 謝謝。

var mail = new MailMessage("username@gmail.com", "destination@gmail.cz")
                        {
                            Subject = "Testing subject",
                            Body = "Testing body"
                        };
            try
            {
                var client = new SmtpClient("smtp.google.com", 465)
                                {
                                    EnableSsl = true,
                                    Credentials = new NetworkCredential("username@gmail.com", "password")
                                };
                client.Send(mail);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

這是所需的 Google 設置:

  • 接收郵件 (POP3) 服務器 - 需要 SSL:pop.gmail.com

    使用 SSL:是

    端口:995

    外發郵件 (SMTP) 服務器 - 需要 TLS3 或 SSL:smtp.gmail.com(使用身份驗證)

    使用身份驗證:是

    TLS/STARTTLS 端口:587

    SSL 端口:465

    帳戶名稱:您的完整電子郵件地址(包括@gmail.com 或@your_domain.com)

    電子郵件地址:您的電子郵件地址(username@gmail.com 或 username@your_domain.com)

    密碼:您的 Gmail 密碼

我認為 465 不是正確的端口。 你試過587嗎? SMTP 服務器是smtp.gmail.com

我也在使用Godaddy 電子郵件服務器,下面的代碼對我來說很好用:

命名空間

System.Net.Mail

============

string senderID = "myemailID@mydomain.com";
string senderPassword = "123456";
string body = " Test email ";

MailMessage mail = new MailMessage();
mail.To.Add(username);
//mail.CC.Add(_cc);
mail.From = new MailAddress(senderID);
mail.Priority = MailPriority.High;
mail.Subject = "Test Email";
mail.Body = body;
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "relay-hosting.secureserver.net"; //Or Your SMTP Server Address
smtp.Credentials = new System.Net.NetworkCredential
     (senderID, senderPassword); // ***use valid credentials***
smtp.Port = 25;
smtp.EnableSsl = false;
smtp.Send(mail);

smtpclient 類的正確端口是 587

如果主機名正確並且 google 支持 SMTP over SSL,那么它被某些東西阻止了,我將開始檢查防火牆。

我認為 smtp.google.com 不是 Gmail 的正確服務器。 您是否在端口 25 上嘗試過 smtp.gmail.com?

端口 465 用於通過 SSL 的 SMTP,.NET SmtpClient 不支持該端口。 而是使用端口 25。SMTP 客戶端將使用 STARTTLS 功能來加密通信。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM