使用自己的QQ邮箱发送自动发送邮件

2020-04-03 08:53:06

话说网上发送邮件的代码很多,但是我由于不细心,导致拿别人的代码发送邮件老是失败,今天就说说几个要注意的地方吧!!!

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
public bool SendEmail()
 {
     MailMessage msg = new MailMessage();
 
     msg.To.Add("to@qq.com");//收件人地址 
     msg.CC.Add("cc@qq.com");//抄送人地址 
 
     msg.From = new MailAddress("from@qq.com""Edward");//发件人邮箱,名称 
 
     msg.Subject = "This is a test email from QQ";//邮件标题 
     msg.SubjectEncoding = Encoding.UTF8;//标题格式为UTF8 
 
     msg.Body = "this is body";//邮件内容 
     msg.BodyEncoding = Encoding.UTF8;//内容格式为UTF8 
 
     SmtpClient client = new SmtpClient();
 
     client.Host = "smtp.qq.com";//SMTP服务器地址 
     client.Port = 587;//SMTP端口,QQ邮箱填写587 
 
     client.EnableSsl = true;//启用SSL加密 
      //发件人邮箱账号,授权码(注意此处,是授权码你需要到qq邮箱里点设置开启Smtp服务,然后会提示你第三方登录时密码处填写授权码)
     client.Credentials = new System.Net.NetworkCredential("from@qq.com""password");
 
     try
     {
         client.Send(msg);//发送邮件
     }
     catch (Exception)
     {
         return false;
     }
     return true;
 }

  网上类似这段代码的代码很多,但是大多数都说的是client.Credentials = new System.Net.NetworkCredential("from@qq.com", "password")这块写的是password,其实可能之前的前辈们用的时候QQ邮箱需要的是密码,但是现在qq邮箱需要的则是授权码,下面就说怎么拿到这个授权码吧!

  首先发送邮件要开启一个smtp的服务(ps:我这菜鸟还是不久前才知道的,不过好像outlook不是smtp,反正协议很多的)

 第一步:打开qq邮箱点击设置:

 

   然后还有两步你就成功了

 第二步:点击账户

 

第三步:向下拉找到smtp字样的地方,然后全部开启

相信你能理解这句话,然后你开启的时候会自动弹出授权码,如果没有当时没有复制粘贴可以点击生成授权码 ,来重新生成:

就是这个东东了,拿这个复制粘贴到你代码的password处即可(ps:本菜鸟被坑的很惨啊,再说多一句163的邮箱也是这样的,只有开启smtp服务才能拿到授权码)


  • 2020-12-27 20:36:10

    音频播放AudioTrack之入门篇

    AudioTrack是管理和播放单一音频资源的类。AudioTrack仅仅能播放已经解码的PCM流,用于PCM音频流的回放。

  • 2020-12-29 14:33:00

    php降级处理yum如何降级

    现在我以php7.4降级到php7.2说起,当然降级是各有各的苦衷,不然谁闲的没事去降级呀,请说出的苦衷。。。。

  • 2020-12-29 14:35:12

    git 放弃所有修改

    此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。

  • 2020-12-29 16:20:29

    使用console进行 性能测试 和 计算代码运行时间

    对于前端开发人员,在开发过程中经常需要监控某些表达式或变量的值,如果使用用 debugger 会显得过于笨重,最常用的方法是会将值输出到控制台上方便调试。 最常用的语句就是console.log(expression)了。