C#发送邮件带附件

  之前做的邮件发送带文件,直接上代码

 1   public string smtpService = "***";//邮件发送协议
 2         public string sendEmail = "****";//发送邮件的邮箱
 3         public string sendpwd = "****";//发送邮件邮箱的许可密码
 4         public void Email()
 5         {
 6             //确定smtp服务器地址 实例化一个Smtp客户端
 7             SmtpClient smtpClient = new SmtpClient();
 8             smtpClient.Host = smtpService;
 9             //smtpClient.Port = "";//qq邮箱可以不用端口
10             //构建发件地址和收件地址
11             MailAddress sendAddress = new MailAddress(sendEmail, "三斤");
12             //邮箱的发送是基于SmtpClient类
13             MailMessage message = new MailMessage();
14             message.From = sendAddress;
15             //收件人邮箱可以是多个
16             string Addemail = "a,b,c";
17             var aa = Addemail.Split(',');
18             //添加收件人邮箱
19             for (int i = 0; i < aa.Length; i++)
20             {
21                 string bb = aa[i].ToString();
22                 message.To.Add(bb);
23             }
24             message.Subject = "邮件主题" + DateTime.Now;
25             //邮箱主题内容使用的编码格式
26             message.SubjectEncoding = Encoding.UTF8;
27             //内容
28             message.Body = "这是一封邮件";
29             //邮箱正文使用的编码格式
30             message.BodyEncoding = Encoding.UTF8;
31             //上传附件多个附件
32             string FileInfo = "a,b,c";
33             if (FileInfo != "")
34             {
35                 var bb = FileInfo.Split(',');
36                 for (int i = 0; i < bb.Length; i++)
37                 {
38                     string cc = bb[i].ToString();
39                     string SUpFile = cc;
40                     //附件
41                     Attachment data = new Attachment(SUpFile, MediaTypeNames.Application.Octet);
42                     //附件资料
43                     ContentDisposition disposition = data.ContentDisposition;
44                     disposition.CreationDate = System.IO.File.GetCreationTime(SUpFile);
45                     disposition.ModificationDate = System.IO.File.GetLastWriteTime(SUpFile);
46                     disposition.ReadDate = System.IO.File.GetLastAccessTime(SUpFile);
47                     //加入邮件附件
48                     message.Attachments.Add(data);
49                 }
50 
51             }
52             //邮件发送方式  通过网络发送到smtp服务器
53             smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
54             //如果服务器支持安全连接,则将安全连接设为true
55             smtpClient.EnableSsl = true;
56             try
57 
58             {
59                 smtpClient.UseDefaultCredentials = false;
60                 //发件用户登陆信息
61                 NetworkCredential senderCredential = new NetworkCredential(sendEmail, sendpwd);
62                 smtpClient.Credentials = senderCredential;
63                 //发送邮件
64                 smtpClient.Send(message);
65                 MessageBox.Show("发送成功!");
66             }
67             catch (Exception ex)
68             {
69                 MessageBox.Show(ex.Message);
70             }
71         }

当时用的qq邮箱需要设置这个服务开,开启后会给你密码,使用这个密码即可发送邮件出去

 

posted @ 2021-03-16 20:36  .就这  阅读(491)  评论(0)    收藏  举报