System.net.mail发送电子邮件
之前做的实现发送邮件的功能,基于System.net.mail,在本地测试是可以发送邮件的,发布到服务器上发送不了邮件,后来发现STMP默认使用25端口收发邮件,服务器封掉25了端口,导致发送邮件失败。
后来改用了587端口发送电子邮件。
public static bool SendEmail587(string email, string validateCode)
{
bool result = true;
try
{
string eMailSmtpClient = CommFunction.GetAppSetting("EMailSmtpClient"); //邮箱服务地址
string eMailAccount = CommFunction.GetAppSetting("EMailAccount");//邮箱账号
string eMailPassword = CommFunction.GetAppSetting("EMailPassword");//邮箱密码
string eMailName = CommFunction.GetAppSetting("EMailName");
string eMailSubject = CommFunction.GetAppSetting("EMailSubjectValidateCode");
string eMailBodyChinese = CommFunction.GetAppSetting("eMailBodyValidateCode_Chinese");
string eMailBodyEnglish = CommFunction.GetAppSetting("eMailBodyValidateCode_English");
MailMessage msg = new MailMessage();
msg.To.Add(email);
msg.From = new MailAddress(eMailAccount, eMailName, Encoding.UTF8);
msg.Subject = eMailSubject;
msg.SubjectEncoding = System.Text.Encoding.UTF8;
msg.Body = string.Format(string.Format("<p>{0}</p><p>{1}</p>", eMailBodyChinese, eMailBodyEnglish), validateCode); ;
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential(eMailAccount, eMailPassword);
client.Port = 587;
client.Host = eMailSmtpClient;
client.EnableSsl = false;
client.Send(msg);
msg.Dispose();
client.Dispose();
}
catch (Exception ex)
{
HttpRequestResult.fResultCode = HttpStatusCode.BadRequest;
HttpRequestResult.fResultMsg = ex.Message;
result = false;
}
return result;
}
最新文章
- 吐槽贴:百度地图 api 封装 的实用功能 [源码下载]
- IT荐书|10个最“牛叉”的代码注释
- 第三章 EnumUtil根据值获取枚举对象
- Exception:A generic error occurred in GDI+
- android WebView总结
- [转]WCDMA系统结构及关键技术
- 已知局域网IP地址,如何查看mac
- [SQL]根据刚刚插入数据的 ID 向另外一张表插入数据(插入的其他字段数据需要对字符串进行分析)
- java jxl 向Excel中追加数据而不覆盖原来数据的例子
- php 按列值合并数据
- Eclipse插件:mybatis generator的使用步骤
- vuex直接修改state 与 用dispatch/commit来修改state的差异
- Vue子组件与父组件之间的通信
- 008 pandas介绍
- git解决Could not execute editor
- CBAM: 卷积块注意模块
- 剥开比原看代码09:通过dashboard创建密钥时,前端的数据是如何传到后端的?
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(七)针对hadoop2.9.0启动DataManager失败问题
- spark rdd Transformation和Action 剖析
- 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #18 向ext4转换