发送邮件失败 - c# - godaddy

Posted

技术标签:

【中文标题】发送邮件失败 - c# - godaddy【英文标题】:Failure sending mail - c# - godaddy 【发布时间】:2017-05-10 10:18:24 【问题描述】:

我正在尝试使用以下代码发送电子邮件。它托管在godaddy。

MailMessage mail = new MailMessage("from@gmail.com", "to@gmail.com");
MailMessage mail = new MailMessage("from@gmail.com", "to@gmail.com");
SmtpClient client = new SmtpClient();
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "smtp.gmail.com";
mail.Subject = "Test email";
string body;
using (var sr = new StreamReader(HttpContext.Current.Server.MapPath("~/App_Data/Template/") + "Email.html"))

    body = sr.ReadToEnd();

string messageBody = string.Format(body, name, expDate);
mail.Body = messageBody;
Attachment doc = new Attachment(HttpContext.Current.Server.MapPath("~/App_Data/class_3b.pdf"));
mail.Attachments.Add(doc);
client.Send(mail);

但我遇到了错误:

System.Net.Sockets.SocketException (0x80004005):连接尝试 失败,因为连接方没有正确响应后 一段时间,或建立连接失败,因为已连接 主机未能响应 74.125.130.109:25 在 System.Net.Sockets.Socket.DoConnect(端点 endPointSnapshot, SocketAddress 套接字地址)在 System.Net.ServicePoint.ConnectSocketInternal(布尔连接失败, Socket s4, Socket s6, Socket&socket, IPAddress&地址, ConnectSocketState 状态、IAsyncResult asyncResult、Exception& 例外)

【问题讨论】:

您是否真的尝试通过 Google 的 SMTP 服务器发送电子邮件而无需任何身份验证?或者这只是示例数据,您的真实 SMTP 服务器无法通过 Internet 访问?这将是垃圾邮件发送者的梦想。 @AndrewMorton 这不是必需的,因为 Google 正在发送邮件,而不是 GoDaddy 的 SMTP 服务器。 两件事,你需要像其他人所说的那样进行身份验证,第二你需要在你的代码中启用 SSL @GeorgeChond 谢谢,看起来有点多。我相应地编辑了我的评论。 Sending email in .NET through Gmail的可能重复 【参考方案1】:

您需要进行身份验证。例如,请参阅Send Email via C# through Google Apps account。 Google 甚至会检查身份验证地址和“发件人”地址是否对应......

【讨论】:

【参考方案2】:

要使用 System.Net.Mail 发送邮件,您需要使用 mailSettings: 的这些值在应用程序的 web.config 文件中配置 SMTP 服务

<system.net>
    <mailSettings>
      <smtp from="your email address">
        <network host="relay-hosting.secureserver.net" port="25" userName="your email address" password="******" defaultCredentials="true"/>
      </smtp>
    </mailSettings>
  </system.net>

代码背后:

MailMessage message = new MailMessage();
message.From = new MailAddress("your email address");

message.To.Add(new MailAddress("your recipient"));

message.Subject = "your subject";
message.Body = "content of your email";

SmtpClient client = new SmtpClient();
client.Send(message);

【讨论】:

以上是关于发送邮件失败 - c# - godaddy的主要内容,如果未能解决你的问题,请参考以下文章

在 C# .net 中发送邮件失败

C# 中的零星 SMTP 电子邮件发送失败

使用c#在asp.net中发送邮件失败[重复]

发送 smtp gmail 电子邮件“发送邮件失败”

雅虎邮箱的 C# SMTP 电子邮件发送代码失败,但适用于其他服务器,有人可以帮忙吗?

是否可以在 gmail.com 帐户中找到从 C# 以编程方式发送的电子邮件?