python,smtplib模块的一些操作小记-1

Python smtplib


0x00

smtplib学习笔记

基础:
smtp是发送邮件的协议,在python中有两个模块用来支持发送邮件,smtplib负责发送邮件,而email模块这是负责构造邮件。email可以构造纯文本文件,也可以HTML邮件和带附件的邮件。首先先从纯文本文件开始构造

from email.mime.text import MIMEText
msg = MIMEText('test python email','plain','utf-8')

导入email模块中的MIMEText类
然后构造email纯文本邮件
语法为

msg = MIMEText('要发送的文本内容','发送邮件类型','设置编码')

刚刚例子中,plain指的是纯文本,然后utf-8为邮件内容编码。使用utf-8可以保证编码的兼容性

邮件内容构造完成后,就是发送邮件,这一块是由smtplib模块负责

import smtplib
server = smtplib.SMTP(服务器地址,端口)
#可以打印出与smtp服务器的交互信息
server.set_debuglevel(1)
server.login(发件人email地址,smtp服务器授权码)
server.sendmail(发件人地址,收件人地址,构造的邮件)
server.quit

接着可以使用QQ的smtp服务器来写一个发送邮件的程序

from email.mime.text import MIMEText
import smtplib

#构造邮件
email_information = input("邮件内容")
msg = MIMEText(email_information,'plain','utf-8')

#设置server和user,password
server = input("服务器:")
user = input("用户:")
password = input("授权码:")

#设置收发地址
send = input("发件人:")
receivers = list(input("收件人:"))

#发送邮件,注:QQ的smtp服务器端口为465
sm = smtplib.SMTP(server,465)
sm.set_debuglevel(1)
sm.login(user,password)
sm.sendmail(send,receivers,msg.as_string())
sm.quit()

剩下明日更新~~~~~