zoukankan      html  css  js  c++  java
  • 用Python3发送邮件详解

    整个邮件系统是怎样工作的

      邮件自互联网诞生之初就有了,它和web服务一样也是采用的c/s架构,比如我们常见的邮件客户端有outlook、foxmail这些邮件客户端软件。

      当我们要发邮件时客户端就通过smtp协议与服务端进行通信把我们的邮件发到服务器端,比如我用的QQ邮件那么我发的邮件一定是先去了QQ

      邮箱的服务器,这个时候服务器会看一下我发送的目标地址是多少,如果也是QQ邮箱用户,那么它就直接把信投递到对应的用户;如果目标

      地址不是QQ邮箱那么比如说是1234@162.com,那么它会把邮件发送到162邮箱的服务器,162邮箱的服务器会把邮件投递到目标用户。投递

      完成后邮件也只是进了目标用户的邮桶,用户想要看邮件还要取出来才行;邮件客户端取邮件的过程用的是pop3协议,当然还有另一个协议

      也是可以用来取邮件的它就imap协议。

    python3怎么发邮件呢

      python3中我们可以直接使用smtplib这个标准库进行邮件的发送,但是为你发送的邮件对“人类”更加的友好,你通常还要加上email这个

      标准库

    1、了解一下最简单的邮件发送程序

    from smtplib import SMTP_SSL
    
    with SMTP_SSL(host="smtp.qq.com") as smtp :
        smtp.login(user='1721900707@qq.com',password='xxxxxxxxxxx')
        smtp.sendmail(from_addr="1721900707@qq.com",to_addrs="1721900707@qq.com",msg="hello world")

      代码的逻辑和我们日常使用邮箱时的过程是一样的、先用自己的账号密码登录上邮箱、接下来就可以发送邮件了;上面的代码

      并没有用到email标准库,所以它发出来的邮件一个正常的人类是看不懂的;但是对于写代码来说它保留了主干,更有利于我

      们理解发送邮件的过程

          

    2、来一个看的下去的例子

    from smtplib import SMTP_SSLfrom email.mime.text import MIMEText
    
    with SMTP_SSL(host="smtp.qq.com") as smtp :
        smtp.login(user='1721900707@qq.com',password='xxxxxxxxxxxxx')
        
        msg = MIMEText("这是来自Python3的一封测试邮件",_charset="utf8")
        msg["Subject"] = "测试邮件"
        msg["from"] = '1721900707@qq.com'
        msg["to"] = '1721900707@qq.com'
        
        smtp.sendmail(from_addr="1721900707@qq.com",to_addrs="1721900707@qq.com", msg=msg.as_string())
            

      通过于email库配合使用后邮件已经基本人类可读了

      

      

    ----

  • 相关阅读:
    实现USB即插即用 教您怎么取消安全删除硬件功能
    如何用EFS对脱机文件加密
    快速美化封面用word就可以
    给iPhone联系人设置小头像的两种方法
    文件夹加密巧用“类标识符”
    保存网页FLASH有妙招
    使用EFS对你电脑上的脱机文件加密
    虚拟xp系统如何在win7系统中安装
    医药圈 www.eyaoq.com
    《eyaoq.com医药圈医药人自己的社区邀请函》
  • 原文地址:https://www.cnblogs.com/JiangLe/p/9159890.html
Copyright © 2011-2022 走看看