C#邮件发送类 简单实用 可自定义发件人名称

上图看效果

 

MailHelper:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
public class MailHelper
    {
        public bool SendMail(MailSender sender,out string errorMsg)
        {
            //声明一个Mail对象
            MailMessage mymail = new MailMessage();
            //发件人地址
            //如是自己,在此输入自己的邮箱
            mymail.From = new MailAddress(sender.SendAddress,sender.SendNickName,Encoding.UTF8);
            //收件人地址
            mymail.To.Add(new MailAddress(sender.ReceiveAddress));
            //邮件主题
            mymail.Subject = sender.Title;
            //邮件标题编码
            mymail.SubjectEncoding = Encoding.UTF8;
            //发送邮件的内容
            mymail.Body = sender.Content;
            //邮件内容编码
            mymail.BodyEncoding = Encoding.UTF8;
            //添加附件
            foreach (var attachment in sender.Attachments)
            {
                mymail.Attachments.Add(attachment);
            }
             
            //抄送到其他邮箱
            foreach (var str in sender.Cc)
            {
                mymail.CC.Add(new MailAddress(str));
            }
             
            //是否是HTML邮件
            mymail.IsBodyHtml = sender.IsBodyHtml;
            //邮件优先级
            mymail.Priority = sender.MailPriority;
            //创建一个邮件服务器类
            SmtpClient myclient = new SmtpClient();
            myclient.Host = sender.Host;
            //SMTP服务端口
            myclient.Port = sender.Port;
            //验证登录
            myclient.Credentials = new NetworkCredential(sender.Username, sender.Password);//"@"输入有效的邮件名, "*"输入有效的密码
            try
            {
                myclient.Send(mymail);
                errorMsg = "";
                return true;
            }
            catch (Exception ex)
            {
                errorMsg = ex.Message;
                return false;
            }
             
        }

  调用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
MailSender sender=new MailSender();
            sender.SendAddress = "***@***.com";
            sender.SendNickName = "辰晓晨";
            sender.ReceiveAddress = "***@***.com";
            sender.Host = "smtp.***.com";
            sender.Port = 25;
            sender.Username = "****@***.com";
            sender.Password = "******";
            sender.Title = "来自辰晓晨的邮件";
            sender.Content = "来自辰晓晨的邮件";
            sender.IsBodyHtml = false;
            sender.MailPriority=MailPriority.Normal;
            MailHelper.MailHelper mailHelper = new MailHelper.MailHelper();
            string errorMsg;
            if (mailHelper.SendMail(sender, out errorMsg))
            {
                Console.WriteLine("发送成功");
                 
            }
            else
            {
                Console.WriteLine("发送失败:"+errorMsg);
                 
            }

  

作者:晓晨Master(李志强)

出处:https://www.cnblogs.com/stulzq/p/5129509.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   晓晨Master  阅读(2789)  评论(1编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示