[英]Send email using asp.net and google smtp server
我在aspx頁面的代碼背后寫了以下代碼來發送電子郵件。我想使用谷歌SMTP服務器。 但是有些我沒有收到郵件
protected void btnSubmit_Click(object sender, EventArgs e)
{
// Sender e-mail address.
MailAddress From = new MailAddress(txtFrom.Text);
// Recipient e-mail address.
MailAddress To = new MailAddress(txtTo.Text);
MailMessage Msg = new MailMessage(From,To);
Msg.Subject = txtSubject.Text;
Msg.Body = txtBody.Text;
// your remote SMTP server IP.
SmtpClient client = new SmtpClient("smtp.gmail.com");
client.Credentials = new System.Net.NetworkCredential
("*******@gmail.com", "**********");
client.EnableSsl = true;
client.Port = 465;
client.Send(Msg);
client.Dispose();
}
我在做什么錯?請幫忙
這是您需要對SmtpClient對象執行的操作:
SmtpClient client = new SmtpClient();
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.Host = "smtp.gmail.com";
client.Port = 587;
client.Credentials = new System.Net.NetworkCredential("xxxx@gmail.com", "xxxx");
Gmail使用OAuth 2.0,您可能必須提供某種API密鑰才能訪問其郵件功能。
為了方便起見,通常使用現有的IMAP和SMTP庫完成使用IMAP訪問郵件和使用SMTP發送郵件的過程。 只要這些庫支持簡單身份驗證和安全層(SASL),它們就應該與Gmail支持的SASL XOAUTH2機制兼容。
除了SASL XOAUTH2協議文檔之外,您可能還需要閱讀使用OAuth 2.0訪問Google API,以獲取有關實現OAuth 2.0客戶端的更多信息。
“庫和樣本”頁面使用SASL XOAUTH2機制和IMAP或SMTP提供了各種流行語言的代碼樣本。 ( 來源 )
這是一個通用的電子郵件程序。
它適用於端口= 25。
記住gmail是IMAP服務器。
try
{
MailMessage msg = new MailMessage ();
MailAddress fromAdd = new MailAddress("fromemail@email.com");
msg.[To].Add("toemail@email.com");
msg.Subject = "Choose Session Members";
msg.From = fromAdd;
msg .IsBodyHtml = true;
msg.Priority = MailPriority.Normal;
msg .BodyEncoding = Encoding.Default;
msg.Body = "<center><table><tr><td><h1>Your Message</h1><br/><br/></td></tr>";
msg.Body = msg.Body + "</table></center>";
SmtpClient smtpClient = new SmtpClient ("smtp.yourserver.com", "25");
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new System.Net.NetworkCredential("yourname@yourserver.com", "password");
smtpClient .DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.Send(msg);
smtpClient.Dispose();
}
首先,您是否檢查過網絡郵件? 在發送的文件夾中? 很多年前,我遇到了同樣的問題,但是我意識到我的防火牆阻止了我。
另一件事
“ SmtpClient類不支持隱式SSL。它支持顯式SSL,后者需要通過端口25與SMTP服務器建立不安全的連接才能協商傳輸級安全性(TLS)。”
http://blog.ramsoftsolutions.com/2015/04/sending-mail-via-smtp-over-implicit-ssl.html
資源:
如何使用.NET Framework通過SSL SMTP發送電子郵件?
問候
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.