C#调用邮箱发送

 

 

controller代码:

string mailSvr = emailSetting.MailSvr;// "smtp.qq.com"; //邮箱的服务地址,目前呢个是qq的服务地址
string account = emailSetting.Account;// "1362575166";//发送方账号,比如qq号
string pwd = emailSetting.Pwd;// "wfaavpiezyxfigad";//发送方邮箱授权码
string addr = emailSetting.Addr;// "1362575166@qq.com";//发送方邮箱地址
string reciveaddr = input.EmailNumber; //"2107076114@qq.com";//接收方邮箱地址
string content = sendContent;//发送的内容
string subject= "Your verification code: ";//邮箱主题
string result= await _emailSendService.SendTo(mailSvr, account, pwd, addr, reciveaddr, content, subject);

底层代码

public async Task<string> SendTo(string mailSvr,string account,string pwd,string addr,string reciveaddr,string content,string subject)
{
try
{
using (SmtpClient smtp = new SmtpClient(mailSvr))
{
smtp.Credentials = new NetworkCredential(account, pwd);//身份认证
MailMessage mail = new MailMessage();//建立邮件
mail.SubjectEncoding = Encoding.GetEncoding("GBK");//主题编码
mail.BodyEncoding = Encoding.GetEncoding("GBK");//正文编码
mail.Priority = MailPriority.Normal;//邮件的优先级为中等
mail.IsBodyHtml = false;//正文为纯文本,如果需要用HTML则为true
mail.From = new MailAddress(addr);//发件人地址
mail.To.Add(reciveaddr);//接收人地址
mail.Subject = subject;//主题
mail.Body = content;//正文
smtp.Send(mail);//正式发邮件
mail.Dispose();
smtp.Dispose();
return "ok";
}
}
catch (Exception e)
{
throw new MyException("An unknown error occurred");
}
}

qq邮箱需要在邮箱页面=设置=账号=开启Smtp的两个选项,然后在下面生成授权码,上面的授权码就是下面生成的授权码,然后就可以调用接口发送消息了

posted @   yingxianqi  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示