python邮件开发—简单邮件发送(入门)

  • 思路

    1. 大致思路:

      登录——>写邮件——>发送
      注意:通过脚本发送邮件时我们要考虑到整个过程的方方面面。
      
    2. 图示(此图来自网上):

      img

  • 工具

    python-email 模块

    1. smtplib

      是关于 SMTP(简单邮件传输协议)的操作模块,在发送邮件的过程中起到服务器之间互相通信的作用。
      
    2. email

      简单来说,即服务器之间通信的信息,包括信息头、信息主体等等。
      
    举个简单的例子,当你登录邮箱,写好邮件后点击发送,这部分是由 SMTP 接管;而写邮件、添加附件是由 email 模块控制。
    
  • 前奏:开通电子邮箱的SMTP功能(以QQ邮箱为例)

    1. 登录网页版的QQ邮箱

      image-20220223143405404
      image-20220223143558920
      image-20220223143627599

    2. 开启服务

      image-20220223143821376

    3. 获取服务密钥

      验证通过后就可以获取服务密钥了,注意不要将自己的服务密钥告诉别人哦
      将它复制下来,后面写代码要用到的(注意:可能后面我就叫它授权码了)
      
  • 开干:写代码

    1. 步骤:

      引入模块——>登录邮箱——>编写内容——>发送邮件
      
    2. 代码:

      # 1. 引入模块
      import smtplib      # 负责连接服务器,发送邮件
      import email        # 负责邮件内容
      
      # 2.登录邮箱(连接服务器)
      smtp_obj = smtplib.SMTP("smtp.qq.com")              #选择QQ邮箱
      smtp_obj.login('[email protected]','开启服务时的授权码')    #登录 
      
      # 3. 编写邮件内容
      mail_text = '这是一封使用Python发送的邮件'            #邮件内容
      msg_body = email.MIMEText(mail_text,'plain','utf-8')#创建邮件对象,并将邮件内容添加上去
      
      # 4. 发送邮件      发送方的账号  接受方账号名字(可以有多个)        内容 as_string()是将邮件转为字符串
      smtp_obj.sendmail('[email protected]',['[email protected]','[email protected]'],msg_body.as_string())
      
  • 结语:

    本次带领大家写了一个简单的邮件发送小脚本,大家可以在此基础上进行提示(比如实现邮箱轰炸,或者使用GUI写一个自己的邮箱发送软件等)
    

后期我会再写一篇文章来告诉大家如何使用python写一封优美的邮件(有附件、表格、发件人和主题等)

上一篇 下一篇