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

思路

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

工具

python-email 模块

smtplib

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

email

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

前奏:开通电子邮箱的SMTP功能(以QQ邮箱为例)

  1. 登录网页版的QQ邮箱
  2. 开启服务
  3. 获取服务密钥
验证通过后就可以获取服务密钥了,注意不要将自己的服务密钥告诉别人哦
将它复制下来,后面写代码要用到的(注意:可能后面我就叫它授权码了)

开干:写代码

  1. 步骤:
引入模块——>登录邮箱——>编写内容——>发送邮件
  1. 代码:
# 1. 引入模块
import smtplib      # 负责连接服务器,发送邮件
import email        # 负责邮件内容

# 2.登录邮箱(连接服务器)
smtp_obj = smtplib.SMTP("smtp.qq.com")              #选择QQ邮箱
smtp_obj.login('xxxx@qq.com','开启服务时的授权码')    #登录 

# 3. 编写邮件内容
mail_text = '这是一封使用Python发送的邮件'            #邮件内容
msg_body = email.MIMEText(mail_text,'plain','utf-8')#创建邮件对象,并将邮件内容添加上去

# 4. 发送邮件      发送方的账号  接受方账号名字(可以有多个)        内容 as_string()是将邮件转为字符串
smtp_obj.sendmail('xxxx@qq.com',['aaaa@qq.com','bbbb@163.com'],msg_body.as_string())

结语:

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