C#,ASP.NAT基于腾讯服务器实现自动发送邮件功能的几种方法及遇到的坑
目录
C#,ASP.NAT基于腾讯服务器实现自动发送邮件功能的几种方法及遇到的坑
以上方法均使用25端口,并且需要申请解封25端口,接下来介绍不需要25端口,也不需要申请解封25端口的方法。
OK,今天就介绍到这儿,加QQ:1664780188,一起讨论更多实现方式,转载请注明出处。
一,使用默认端口,如下实现代码:
#region 第一种方法
string formto = "fh_media@fuhhuimall.cn";//发邮件的邮箱
string to = "1664780188@qq.com"; //接收邮箱
string content = "【富慧商城-密码重置】";//邮件标题
string body = "您的新密是:" + new Random().Next(100000, 999999);//邮件内容
string name = "fh_media@fuhhuimall.cn";//邮件别名
string upass = "发邮件邮箱的密码";//
string smtp = "smtp.exmail.qq.com";//邮箱服务器的地址(网关)
SmtpClient _smtpClient = new SmtpClient();
_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
_smtpClient.Host = smtp; //指定SMTP服务器
_smtpClient.Port = 25;/默认端口,可不写
_smtpClient.Credentials = new System.Net.NetworkCredential(name, upass);//用户名和密码
MailMessage _mailMessage = new MailMessage();
发件人,发件人名
_mailMessage.From = new MailAddress(formto);
//收件人
_mailMessage.To.Add(to);
_mailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding("gb2312");
_mailMessage.Subject = content;//主题
_mailMessage.Body = body;//内容
_mailMessage.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312");//正文编码
_mailMessage.IsBodyHtml = true;//设置为HTML格式
_mailMessage.Priority = MailPriority.High;//优先级
try
{
_smtpClient.Send(_mailMessage);
Console.WriteLine("发送成功");
Console.ReadKey();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.ReadKey();
}
#endregion
这种方式在本地电脑可以实现功能,但是部署到服务器,就挂了。那怎么解决呢,继续往下看,小编继续给您介绍,如下不走开通默认端口25:
先打开腾讯控制台连接自助解封25端口:https://console.cloud.tencent.com/secctrl/smtp,
第二步
OK,没问题解。觉得可以,关注+收藏。
二、使用腾讯提供的端口465,这种方法可以发html代码的邮件,代码如下:
MailAddress MessageFrom = new MailAddress("fh_media@fuhhuimall.cn"); //发件人邮箱地址
string MessageTo = "1664780188@qq.com"; //收件人邮箱地址
string MessageSubject = "邮件主题"; //邮件主题
string MessageBody = "请进行邮箱验证来完成您注册的最后一步,点击下面的链接激活您的帐号:<br><a target='_blank' rel='nofollow' style='c