我对此进行了研究,但找不到真正完整的答案。许多人,包括我自己,都能够通过 C# System.Net.Mail 使用端口 25 或 587 发送电子邮件,而不是使用 SSL。例如,请参见此处: https ://stackoverflow.com/questions/1317809/sending-email-using-a-godaddy-account
其他人有一个使用 System.Web.Mail 的解决方案,但该解决方案已过时: 如何使用 .NET Framework 通过 SSL SMTP 发送电子邮件?
但是,似乎没有人有解决方案如何使用带有端口 465 的 SSL 发送电子邮件。有没有人有解决方案,或者至少知道为什么 SSL 在 C# 中不起作用?
这是我正在使用的代码:
try
{
MailMessage mail = new MailMessage("sender@yourdomain.com", receivingEmail, subject, body);
string host = "smtpout.secureserver.net";
int port = 465; // it's 465 if using SSL, otherwise 25 or 587
SmtpClient smtpServer = new SmtpClient(host, port);
smtpServer.Credentials = new NetworkCredential("sender@yourdomain.com", "yourpassword");
smtpServer.EnableSsl = true;
smtpServer.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpServer.Send(mail);
}
catch (Exception ex)
{
// do something with the exception
...
}