C#学习教程:使用SSL发送电子邮件到目前为止,我已经尝试过尝试{MailMessagemail=newMailMessage();SmtpClientSmtpServer=newSmtpClient("smtp.gmail.com");mail.From=newMailAddress("abc@xyz.com");邮件。To.Add("to_address");mail.Subject="测试邮件";mail.Body="这是为了测试来自GMAIL的SMTP邮件";SmtpServer.Port=587;SmtpServer.Credentials=newSystem.Net.NetworkCredential("用户名","密码");SmtpServer.EnableSsl=true;//true:使用TLS发送,false:不安全发送SmtpServer.Send(mail);MessageBox.Show("邮件已发送");}catch(Exceptionex){MessageBox.Show("Error"+ex.ToString());通过设置一个名为EnableSsl的属性,我可以通过支持TLS的服务器发送邮件,但不能通过仅支持SMTPoverSSL的服务器发送邮件。如何支持此SMTP/SSL方法?根据SMTPClient规范:https://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.enablessl(v=vs.110).aspx如RFC3207中所定义,SmtpClient类仅支持通过传输层安全的SMTP服务扩展。在这种模式下,SMTP会话在未加密的通道上启动,然后客户端向服务器发出STARTTLS命令以切换到使用SSL进行安全通信。有关详细信息,请参阅互联网工程任务组(IETF)发布的RFC3207。您可以尝试已弃用但支持SSL的System.Web.Mail.SmtpMail:https://msdn.microsoft.com/en-us/library/system.web.mail.smtpmail(v=vs.110)。aspxTBH我认为您应该对您的服务发出警告,并说明仅支持使用TLS的SMTP服务器。但归根结底,这取决于你。此链接显示了另一种方法,我可以借助协作数据对象组件使用SMTPoverSSL发送电子邮件。这种方式还支持将图像嵌入到电子邮件中。请更改您的代码。以上就是C#学习教程:使用SSL发送邮件的全部内容。如果对大家有用,需要详细了解C#学习教程,希望大家多多关注——SmtpServer.EnableSsl=false;本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
