簡體   English   中英

無法通過按鈕單擊發送 email。 ASP.NET 和 C#

[英]Unable to send email from button click. ASP.NET and C#

我對 C# 幾乎沒有經驗,我目前在通過單擊按鈕將 email 發送到指定地址時遇到問題。

我有一個包含聯系表格的 ASP.NET 網頁。 我希望用戶在文本框中輸入數據,然后當他們單擊“發送”按鈕時,此信息將通過 email 發送。

但是,當我單擊發送時,我得到以下信息。

連接嘗試失敗,因為連接的一方在一段時間后沒有正確響應,或者連接失敗,因為連接的主機沒有響應 209.85.229.109:25

C#代碼如下。

protected void Button1_Click(object sender, EventArgs e)
{
    MailMessage mail = new MailMessage();
    mail.From = new MailAddress(txtemail.Text);
    mail.To.Add("hmgomez90@gmail.com");
    mail.Subject = "Taxi Taxi Support";
    mail.IsBodyHtml = true;
    mail.Body = "First Name: " + txtname.Text;
    mail.Body += "Email: " + txtemail.Text;
    mail.Body += "Comments: " + txtquestion.Text;

    SmtpClient smtp = new SmtpClient();
    smtp.Host = "smtp.gmail.com";
    smtp.Send(mail);
}

我正在使用 System.Net 和 System.Net.Mail

任何幫助將不勝感激。

我相信您還需要指定端口 (587) 和憑據才能使用 Google 的 SMTP 服務器。

看看這個問題: Sending email through Gmail SMTP server with ZD7EFA19FBE7D29372FD5ADB60242

var client = new SmtpClient("smtp.gmail.com", 587)
{
    Credentials = new NetworkCredential("myusername@gmail.com", "mypwd"),
    EnableSsl = true
};
client.Send("myusername@gmail.com", "myusername@gmail.com", "test", "testbody");

我認為您使用 MailMessage 看起來是正確的,但我會質疑 SMTP 設置。 Gmail 往往很挑剔,可能需要您定義一個端口。

從 Gmail 幫助:

smtp.gmail.com(使用認證)

使用身份驗證:是

TLS/STARTTLS 端口:587

SSL 端口:465

所以你可以添加

smtp.Port = 587

暫無
暫無

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

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