【C#】发送QQ邮箱信息之步骤和代码实现

321 阅读2分钟

我正在参加「掘金·启航计划」

本篇文章就来讲讲,通过C#来实现,发送消息到QQ邮箱
使用场景可以是发送一些通知,或者重置密码通知之类,甚至是验证码,提高安全性

image.png

1、登录到QQ邮箱,开启服务,如下步骤

1)点击【设置】,然后点击【账户】

1655987335551.png

2)往下滑动到如下图位置,点击【开启】POP3/SMTP服务

image.png

3)设置授权码,用于发送邮件时填写的值

image.png

2、编写代码

MailMessage msg = new MailMessage();
 
msg.To.Add("收件人QQ号码@qq.com");
msg.CC.Add("收件人QQ号码@qq.com"); //抄送方 - 可以多个
 
msg.From = new MailAddress("发件人QQ号码@qq.com", "名称");
 
msg.Subject = "标题";
//标题格式为UTF8  
msg.SubjectEncoding = Encoding.UTF8;
 
msg.Body = "内容";
//内容格式为UTF8 
msg.BodyEncoding = Encoding.UTF8;
 
SmtpClient client = new SmtpClient();
//SMTP服务器地址 
client.Host = "smtp.qq.com";
//SMTP端口,QQ邮箱填写587  
client.Port = 587;
//启用SSL加密  
client.EnableSsl = true;
 
client.Credentials = new NetworkCredential("发件人QQ号码@qq.com", "密码或授权码");
//发送邮件  
try
{
    client.Send(msg);
}
catch (SmtpException ex)
{
 
}
finally
{
    client.Dispose();
    msg.Dispose();
}

3、注意事项

虽然开启了服务,但是要遵循一定的规范和规则,不能短时间内群发,且内容不可以有广告等,否则就会出现提示

550 Mail content denied 出错原因:该邮件内容涉嫌大量群发,并且被多数用户投诉为垃圾邮件。

    对于具有群发性质的邮件,如果出现用户普遍表示反感或集中投诉的情况,腾讯邮箱将禁止类似此邮件内容继续发送。

改善建议:如果您是此群发邮件的管理员,请停止群发对用户造成骚扰的广告及推广类邮件。

           如果您是个人邮箱用户,请向您的电子邮件提供商报告此情况。

1)为了防范少数垃圾邮件发送者的过量邮件发送行为, QQ邮箱根据不同用户类型设置了不同的发送总数的限制:

2)2G 的普通用户每天最大发信量是 100 封。

3)3G 会员、移动 QQ 、 QQ 行及 4G 大肚邮用户每天最大发信量是 500 封。 Foxmail 免费邮箱每天发送量限制为 50 封 。