Python—实操项目:SMTP给多人发送邮件(带附件和不带附件)
SMTP发邮件的简单参数介绍
SMTP(Simple Mail Transfer Protocol):简单邮件传输协议,python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。
Python创建 SMTP 对象语法如下:
import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )
参数说明:
host: SMTP 服务器主机。 你可以指定主机的ip地址或者域名如: runoob.com,这个是可选参数。
port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用的端口号,一般情况下 SMTP 端口号为25。
local_hostname: 如果 SMTP 在你的本机上,你只需要指定服务器地址为 localhost 即可。
Python SMTP 对象使用 sendmail 方法发送邮件,语法如下:
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
参数说明:
from_addr: 邮件发送者地址。
to_addrs: 字符串列表,邮件发送地址。
msg: 发送消息,它的格式是字符串,一般是指邮件的正文。
那么接下来就直接给大家展示实操项目,如果你跟我一样是初学者,我们一起将代码敲起来哟。
Python—给多人发一封只有正文的邮件
import smtplib #smtplib 用于邮件的发信动作
from email.mime.text import MIMEText # email 用于构建邮件内容
from email.header import Header # Header 用来构建邮件头
#发信方的信息:发信邮箱,QQ邮箱授权码(授权码记得去设置中设置哟)
from_addr = '75******@qq.com'
password = input('请输入你的授权码')
#收信方邮箱(因为是发送给多个人,所以我们可以用列表进行储存)
to_addrs =[ '475******@qq.com','75******@qq.com','15******@163.com']
#发信服务器(不同邮箱主体的SMTP服务器是不一样的,所以下面的就是qq的SMTP服务器)
smtp_server = 'smtp.qq.com'
#邮箱正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码
text = '嗨,我们一起做个小游戏' #若邮件正文较长,可以这样设置一个变量
msg = MIMEText(text,'plain','utf-8') #传入文本,文本类型(plain)、文本编码
#设置邮件头信息(