C#发邮件_EmailHelper

EmailHelper类

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

56

57

58

59

60

61

62

63

64

65

66

67

68

69

public class EmailHelper

   {

       /// <summary>

       /// 发送邮件

       /// </summary>

       /// <param name="smtpServer">smtp服务器</param>

       /// <param name="port">端口</param>

       /// <param name="mailFrom">发件人邮箱</param>

       /// <param name="userPassword">密码</param>

       /// <param name="mailTo">收件人</param>

       /// <param name="strcc">抄送人</param>

       /// <param name="strBcc">密送</param>

       /// <param name="mailSubject">邮件主题</param>

       /// <param name="mailContent">内容</param>

       /// <param name="strs">附件</param>

       /// <returns>发送成功返回true否则false</returns>

       public static bool SendEmail(string smtpServer, int port, string mailFrom, string userPassword, string mailTo, string strcc,string strBcc,string mailSubject, string mailContent, string strs)

       {

           try

           {

               // 设置发送方的邮件信息

               // 邮件服务设置

               SmtpClient smtpClient = new SmtpClient();

               smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式

               smtpClient.Host = smtpServer; //指定SMTP服务器

               smtpClient.Port = port;//端口

               smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//验证用户名和密码

               smtpClient.EnableSsl = true//使用SSL

               // 发送邮件设置       

               MailMessage mailMessage = new MailMessage(mailFrom, mailTo); // 发送人和收件人

               mailMessage.Subject = mailSubject;//主题

               mailMessage.Body = mailContent;//内容

               mailMessage.BodyEncoding = Encoding.UTF8;//正文编码

               mailMessage.IsBodyHtml = true;//设置为HTML格式

               mailMessage.Priority = MailPriority.Normal;//优先级

               //抄送人

               if (!string.IsNullOrEmpty(strcc))

                   mailMessage.CC.Add(strcc);

               //密送

               if (!string.IsNullOrEmpty(strBcc))

                   mailMessage.Bcc.Add(strBcc);

               //附件

               if (!string.IsNullOrEmpty(strs))

               {

                   List<string> paths = new List<string>();

                   if (strs.Contains(","))

                   {

                       paths = strs.Split(',').ToList();

                   }

                   else

                   {

                       paths.Add(strs);

                   }

                   foreach (var path in paths)

                   {

                       mailMessage.Attachments.Add(new Attachment(strs));

                   }

               }

               smtpClient.Send(mailMessage); // 发送邮件

               return true;

           }

           catch

           {

               return false;

           }

       }

   }

  

调用发送邮件的方法:

static void Main(string[] args)
        {
            //获得各种参数,不需要的用空字符串
            string path = Directory.GetCurrentDirectory();
            string file = path + @"\Excel.xlsx"; //附件1
            string file2 = path + @"\Excel2.xlsx";//附件2
            string smtpServer = "smtp.163.com";//163邮箱的smtp服务器 
            int port = 25;//端口
            string mailFrom = "******@163.com";//发件人邮箱 
            string pwd = "*********";//密码
            string mailTo = "123@163.com,456@qq.com";//收件人邮箱,多个用户用逗号隔开
            string mailCC = "";//抄送人,多个用户用逗号隔开
            string mailBcc = "";//密送
            string mailSubject = "测试邮件";//主题
            string mailContent = "HI,这是我发给你的一个测试邮件";//内容
            string ah = file+","+file2; //附件-文件路径
            if (EmailHelper.SendEmail(smtpServer, port, mailFrom, pwd, mailTo, mailCC, mailBcc, mailSubject, mailContent, ah) == true)
            {
                Console.WriteLine("发送成功!");
            }
            else
                Console.WriteLine("发送失败");
           
            Console.ReadKey();
        }

注意:

  • 确认发件人的邮箱已开通smtp;
  • 对应邮箱的smtp填写正确,例:126邮箱:smtp@126.com
  • 对应的邮箱SendEmail 中是否要使用SSL加密连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值