【c#】.net利用smtp协议发送邮件

1、结果图:
在这里插入图片描述
2、注意事项
1、要先在IIS管理器中查看你得smtp是如何配置的
因为我代码采取的验证方式是指定凭证验证,所以,在IIS中也需要配置,配置如下:
在这里插入图片描述

3、代码实现

 //邮箱服务设置
            //对应邮箱发送的服务器地址
            using (SmtpClient SmtpMail = new SmtpClient("SMTP服务器地址", 端口号))
            {
                //邮件发送方式:网络
                SmtpMail.DeliveryMethod = SmtpDeliveryMethod.Network;
                //服务器是否使用ssl协议连接
                SmtpMail.EnableSsl = false;
                //指定身份验证凭证
                //SmtpMail.UseDefaultCredentials = true;//默认凭证
                SmtpMail.Credentials = new NetworkCredential("账户名", "密码");


                //发送邮件设置
                MailMessage mailob = new MailMessage();
                //发件人地址、姓名、编码
                mailob.From = new MailAddress("发件人地址", "预警通知", Encoding.UTF8);
                //收件人地址
                List<string> employees1 = new List<string>();
                //群发邮件
                foreach (var employee in employees)
                {
                    mailob.To.Add(employee.ToString() + "邮箱后缀名");
                }
                mailob.Subject = "预警通知";
                mailob.SubjectEncoding = Encoding.UTF8;
                mailob.Body = message;
                mailob.BodyEncoding = Encoding.UTF8;

                return SmtpMail.SendMailAsync(mailob);

            }

        }
        

4、难点

1、搞不清楚SMTP中的地址与邮件地址到底有啥区别
2、SSMTP中SSL安全链接有什么作用
3、几个身份验证凭证的区别及代码实现,暂时还没搞清楚,哈哈哈如果有大佬知道,可以指导一下

解决:
1、通过代码可以看出SMTP中的地址是SMTP服务器地址和端口号,而邮件中的地址则是发件人/收件人邮件地址,两者是不同的;
2、SSL安全链接,以下是我找的资料,大家可以对比观看
	
	****本文为CSDN博主「园中杨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
	原文链接:https://blog.csdn.net/xiaofeiyuan/article/details/108808077****
	
使用ssl安全链接发送邮件:ssl(port: 465 & 994),创建SMTP_SSL对象,实现ssl安全连接
    :param host: 126邮件服务器地址
    :param user: 发件人
    :param pwd: 授权码
    :param receivers: 收件人
    :param msg: 邮件内容对象
    :param port: 126邮件服务器端口
    :return:
    """
    smtp_obj = None
    try:
        smtp_obj = smtplib.SMTP_SSL(host, port)
        smtp_obj.login(user, pwd)
        smtp_obj.sendmail(user, receivers, msg.as_string())
        logging.info("{} send mail, subject {}".format(user, msg["Subject"]))
    except Exception as e:
        logging.error("fail to send mail {}, msg {}".format(e, msg.as_string))
    finally:
        smtp_obj.close()

————————————————

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值