.net core 发送邮件

在.net core2.0以上版本中 发送所用到的API与.net framework一致。1.0版本好像有差别,好在高版本解决了这个问题。

 

为了方便查看效果,以控制台程序为例。 邮箱服务器以现在比较大众化QQ邮箱为例

1.获取QQ邮箱的授权码

在使用QQ邮箱发送邮件时,需要额外的一个授权码。不同于我们平时所用的登录密码,是在开启SMTP服务之后生成的一个密码。它是用于登录第三方客户端的专用密码。

步骤:

1.1 进入QQ邮箱首页,在最上方点击 设置 按钮,进入下一页面

 

1.2 点击 账户 选项卡 ,划到大概中间部分,有一个服务选项区。经实验开启前两个就可以了。

 

1.3 点击下方的 生成授权码,在开启服务之后会自动生成一次。这一步如果绑定了密保,会先进行一次身份验证。验证之后会发放一个授权码。这个授权码,在程序里会用到。

 

2. 代码实现

在拿到授权码之后就可以在代码实现功能了

2.1 创建控制台项目,代码如下。 示例是用我的QQ邮箱给我的Gmail邮箱发送一封测试邮件。

static void Main(string[] args)
        {

            MailMessage mailMsg = new MailMessage();//实例化对象
            mailMsg.From = new MailAddress("923974733@qq.com", "季某人");//源邮件地址和发件人
            mailMsg.To.Add(new MailAddress("xiaomaprincess@gmail.com"));//收件人地址
            mailMsg.Subject = "邮件发送测试";//发送邮件的标题
            StringBuilder sb = new StringBuilder();
            sb.Append("测试测试测试测试");
            sb.Append("嘿嘿");
            mailMsg.Body = sb.ToString();//发送邮件的内容
            //指定smtp服务地址(根据发件人邮箱指定对应SMTP服务器地址)
            SmtpClient client = new SmtpClient();//格式:smtp.126.com  smtp.164.com
            client.Host = "smtp.qq.com";
            //要用587端口
            client.Port = 587;//端口
            //加密
            client.EnableSsl = true;
            //通过用户名和密码验证发件人身份
            client.Credentials = new NetworkCredential("923974733@qq.com", "xxxxxxxxxxxxxx"); // 
            //发送邮件
            try
            {
                client.Send(mailMsg);
            }
            catch (SmtpException ex)
            {

            }
            Console.WriteLine("邮件已发送,请注意查收!");
            Console.ReadKey();
        }

2.2 启动程序: 被告知已发送成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值