C#QQ邮箱发送消息
2020-12-27 03:29
标签:ret 文件 public sig string 完成后 play page settings 最后就是写代码的时间了: C#QQ邮箱发送消息 标签:ret 文件 public sig string 完成后 play page settings 原文地址:https://www.cnblogs.com/mvpbest/p/13359061.htmlQQ邮箱发送消息
在写代码之前首先我们要获取授权码。
打开我们的QQ邮箱=》点开设置=》点开账户=》我们就可以看到POP3/IMAP......服务
下面有各种服务,选择你要开启的服务,本人就开了第一了服务,完成后它会给你个授权码,下面我们就会用到这个授权码
首先我们在appsettings.json写配置。
"QQEmailConfig": {
//发件人
"From": {
"email": "自己的QQ邮箱",
"displayname": "tomorrow得到系统通知"//显示的名称
},
"AuthorizationCode": "自己的授权码",
//收件人
"Addressee": [
{
"email": "张三的QQ邮箱",
"displayname": "张三"
},
{
"email": "李四的QQ邮箱",
"displayname": "李四"
}
],
"Subject": "tomorrow的系统通知123",//统一标题
"Host": "smtp.qq.com",//主机
"Port": 587,//端口
"EnableSsl": true //是否加密
},再写个EmailConfig类放在Models文件夹中:
public class EmailConfig
{
public class Config
{
public string email { get; set; }
public string displayname { get; set; }
}
public Config From { get; set; }
public Config[] Addressee { get; set; }
public string AuthorizationCode { get; set; }
public string Subject { get; set; }
public string Host { get; set; }
public int Port { get; set; }
public bool EnableSsl { get; set; }
}
public async Task
//读取配置文件
EmailConfig emailConfig = _configuration.GetSection("QQEmailConfig").Get
//实例化对象
using(MailMessage mail=new MailMessage())
{
//发件人
mail.From = new MailAddress(emailConfig.From.email, emailConfig.From.displayname);
//收件人
foreach (var item in emailConfig.Addressee)
{
mail.To.Add(new MailAddress(item.email, item.displayname));
}
//标题
mail.Subject = emailConfig.Subject;
//内容
mail.Body = "我变了没有变";
//内容是否为html渲染
mail.IsBodyHtml = true;
//标题编码
mail.SubjectEncoding = Encoding.UTF8;
//内容编码
mail.BodyEncoding = Encoding.UTF8;
//附件
mail.Attachments.Add(new Attachment(@"C:\Users\Administrator\Pictures\Saved Pictures\timg.jpg"));
//smtp客户端
using(SmtpClient client=new SmtpClient())
{
//主机
client.Host = emailConfig.Host;
//端口
client.Port = emailConfig.Port;
//凭证(发件人email 授权)
client.Credentials = new NetworkCredential(emailConfig.From.email, emailConfig.AuthorizationCode);
//是否加密
client.EnableSsl = emailConfig.EnableSsl;
//发送邮件
await client.SendMailAsync(mail);
}
};
return new JsonResult(new
{
Code=200,
message="邮件完成,请注意查收",
data = emailConfig.Addressee
});
}最后我们就完成了。
如果你出现appsettings.json乱码的情况。
点开工具=》自定义=》命令=》添加命令=》文件=》找到高级保存选择点击=》关闭=》点开左上方的高级保存设置=》选择Unicode (UTF-8 with signature)-Codepage 65001 这个就行
上一篇:error execution phase preflight: couldn't validate the identity of the API Server: Get https
下一篇:C# 反编译防范