C# 通过SSL设置发送电子邮件
如果我发送邮件时没有启用SSL,我可以使用以下代码发送电子邮件。启用SSL时,我必须更改凭据,例如端口和传出服务器。我已经多次检查了凭据,它们都是正确的,并且还与我的托管公司确认了凭据。我是否错过了阻止我通过SSL发送邮件的任何步骤。请指教,谢谢C# 通过SSL设置发送电子邮件,c#,.net,ssl,C#,.net,Ssl,如果我发送邮件时没有启用SSL,我可以使用以下代码发送电子邮件。启用SSL时,我必须更改凭据,例如端口和传出服务器。我已经多次检查了凭据,它们都是正确的,并且还与我的托管公司确认了凭据。我是否错过了阻止我通过SSL发送邮件的任何步骤。请指教,谢谢 //Sending without SSL which works public static string error; public static void Send() { try { MailMessage ma
//Sending without SSL which works
public static string error;
public static void Send()
{
try
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("mail.mywebsite.com");
mail.From = new MailAddress("management@mywebsite.com");
mail.To.Add("report@mywebsite.com");
mail.Subject = "Inventory Status/ Update";
mail.Body = Connection.emailUpdate;
SmtpServer.Port = 26;
SmtpServer.Credentials = new System.Net.NetworkCredential("management@mywebsite.com", "password");
SmtpServer.EnableSsl = false;
SmtpServer.Send(mail);
SmtpServer.Timeout = 10000;
MessageBox.Show("mail Send");
}
catch (Exception ex)
{
error = ex.ToString();
}
}
//Sending with SSL which fails
public static string error;
public static void Send()
{
try
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("eu2.01domain.net");//Change in outgoing server
mail.From = new MailAddress("management@mywebsite.com");
mail.To.Add("report@mywebsite.com");
mail.Subject = "Inventory Status/ Update";
mail.Body = Connection.emailUpdate;
SmtpServer.Port = 465; //Change in port
SmtpServer.Credentials = new System.Net.NetworkCredential("management@mywebsite.com", "password");
SmtpServer.EnableSsl = true; //SSL enabled
SmtpServer.Send(mail);
SmtpServer.Timeout = 10000;
MessageBox.Show("mail Send");
}
catch (Exception ex)
{
error = ex.ToString();
}
}
同时发布异常详细信息排除/隐藏敏感信息引发了什么异常?事件查看器是否显示任何内容?此外,您不需要在异常变量上使用.ToString,因为它已经是字符串格式。没有异常。屏幕冻结,直到我停止这个过程。当我停止进程时,我得到的只是一条消息,表明线程已停止。我尝试在启用SSL的情况下将端口交换到26,然后它就可以工作了。但这不是SSL的推荐端口。根据主机公司的说法,应该使用465。这可能是您的防火墙设置吗?您的事件查看器是否在应用程序、安全或系统视图下显示任何内容?暂时禁用防火墙,但结果仍然相同。