Python-------使用QQ邮箱发送纯文本邮件

本文介绍的是使用Python环境实现QQ邮箱的纯文本发送

在这里需要用到QQ邮箱的授权码,先介绍授权码的获取方法:

打开QQ邮箱:点击设置,选择账户

Python-------使用QQ邮箱发送纯文本邮件_第1张图片

在账户下面有个开启服务,在OPO3/SMTP服务后,点击开启(由于我的是已开启状态,可以关闭掉,出现的弹框不用管即可)

Python-------使用QQ邮箱发送纯文本邮件_第2张图片

点击开启后是以下页面,照做就可以了(下面第二张图片的箭头指向出就是授权码了)

Python-------使用QQ邮箱发送纯文本邮件_第3张图片

Python-------使用QQ邮箱发送纯文本邮件_第4张图片

  • 第一版

步骤如下:

  1. 设定邮件内容
  2. 使用MIMEText将邮件内容(字符串)转成邮件形式并存储
  3. 设置邮件主题
  4. 设置发件人
  5. 设置邮件服务器以及端口号
  6. 登录邮箱
  7. 发送邮件
  8. 发送后退出
import smtplib
from email.mime.text import MIMEText

#设定邮件内容
content="两只黄鹂鸣翠柳,一行白鹭上青天"
#使用MIMEText将邮件内容转成邮件形式并存储
message=MIMEText(content)
#设置邮件主题
message["subject"]="七言绝句"
#设置发件人
message["From"]="发件人QQ邮箱"
#设置邮件服务器以及端口号
smtp_email=smtplib.SMTP("smtp.qq.com",25)
#登录邮箱,QQ邮箱使用的是QQ账号和授权码
smtp_email.login(user="填写QQ邮箱",password="填写授权码")
#发送邮件,发送邮件是需要设定发件人,收件人和邮件内容
smtp_email.sendmail(from_addr="发件人QQ邮箱",to_addrs="收件人QQ邮箱",msg=message.as_string())
#发送完毕后退出
smtp_email.quit()
#打印发送成功
print("发送成功")

发送成功时候打印出  “发送成功”的字样

  • 第二版

与第一版不同之处在于将发件人QQ号和收件人QQ号,以及邮箱服务器独立出来,避免多次填写数字的情况,以同时防止出错。同时添加了轰炸式发送的功能。

步骤如下:

  1. 导入两个操作模块 smtplib 和MIMEText
  2. MIMEText将字符串转换成邮件格式from email.mime.text import MIMEText
  3. 设置邮件的服务器可以上百度搜索相关:qq,163,阿里等 qq:smtp.qq.com
  4. 设置邮件账号
  5. 设置邮件授权码或者密码qq为授权码'**************'
  6. 邮件内容设定字符串赋值
  7. 把上一步的字符串通过MIMEText函数来转成邮件形式并存储
  8. message['subject']设置主题
  9. message[From']设置发送人
  10. 创建发送邮件对象smtplib.SMTP (参数:邮箱服务器,加密方式:默认25号端口)
  11. #登录服务器(参数:账号,密码)邮件对象.login
  12. 发送邮件 (谁发的,发给谁,把邮件对象转成特定的字符串).sendmail(mail_user,to,message.as_string())
  13. Quit()断开邮件
import smtplib
from email.mime.text import MIMEText
import time
def send_mail():
    # 设置邮件服务器,本代码使用qq邮箱发送,所以邮件服务为smtp.qq.com
    sever="smtp.qq.com"
    #发送方账号
    user="发件人QQ邮箱"
    #发送方qq的授权码
    pwd="发件人QQ邮箱授权码"
    #邮箱中发送的具体内容
    content="两只黄鹂鸣翠柳,一行白鹭上青天"
    # 把得到的字符串通过MIMEText函数来转成邮件形式并存储
    message=MIMEText(content)
    #设置邮件主题
    message["subject"]="七言绝句"
    #设置邮件的发送人
    message["From"]=user
    #设置收件人
    to="收件人QQ邮箱"
    #定义邮箱服务器与端口号
    smtp_email=smtplib.SMTP(sever,25)
    #登录账号
    smtp_email.login(user=user,password=pwd)
    #发送邮件
    smtp_email.sendmail(from_addr=user,to_addrs=to,msg=message.as_string())
    #关闭
    smtp_email.quit()
    print("发送成功")
while True:
    send_mail()
    time.sleep(10)

 

 

 

 

 

 

 

你可能感兴趣的:(Python)