繁体   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