1.利用python脚本发送正文为文本的邮件
import smtplib
from email.mime.text import MIMEText
# 构建邮件头
from email.header import Header
class SendFile:
def send_file(self,from_address,to_address,password,From,To):
msg = MIMEText('使用python发送邮件测试', 'plain', 'utf-8')#邮件正文,文本格式
# 邮件头信息
msg['From'] = Header(From) # 发送者
msg['To'] = Header(To) # 接收者
subject = 'Python SMTP 邮件测试'
msg['Subject'] = Header(subject, 'utf-8') # 邮件主题
smtobj = smtplib.SMTP_SSL('smtp.qq.com')
smtobj.connect('smtp.qq.com', 465)#连接(connect)指定服务器
smtobj.login(from_address, password)#登录,需要:登录邮箱和授权码
smtobj.sendmail(from_address,to_address,msg.as_string())#发邮件
print('邮件发送成功')
# #关闭服务器
smtobj.quit()
2.利用python脚本发送正文为html的邮件
import smtplib
from email.mime.text import MIMEText
# 构建邮件头
from email.header import Header
class SendFile:
def send_file(self,from_address,to_address,password,From,To):
msg = MIMEText('使用python发送邮件测试', 'HTML', 'utf-8')#html格式
# 邮件头信息
msg['From'] = Header(From) # 发送者
msg['To'] = Header(To) # 接收者
subject = 'Python SMTP 邮件测试'
msg['Subject'] = Header(subject, 'utf-8') # 邮件主题
smtobj = smtplib.SMTP_SSL('smtp.qq.com')
smtobj.connect('smtp.qq.com', 465)#连接(connect)指定服务器
smtobj.login(from_address, password)#登录,需要:登录邮箱和授权码
smtobj.sendmail(from_address,to_address,msg.as_string())#发邮件
print('邮件发送成功')
# #关闭服务器
smtobj.quit()
3.利用python脚本发送带有附件的邮件
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# 构建邮件头
from email.header import Header
class SendFile:
def send_file(self,from_address,to_address,password,From,To):
msg = MIMEText('使用python发送邮件测试', 'plain', 'utf-8')#邮件正文,文本格式
#msg = MIMEText('使用python发送邮件测试', 'HTML', 'utf-8')#html格式
# 邮件头信息
msg['From'] = Header(From) # 发送者
msg['To'] = Header(To) # 接收者
subject = 'Python SMTP 邮件测试'
msg['Subject'] = Header(subject, 'utf-8') # 邮件主题
# 创建一个带附件的实例msg
msg = MIMEMultipart()
# 构造附件1,传送当前目录下的 test1.txt 文件
att1 = MIMEText(open('test1.txt', 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
# 这里的filename可以任意写,写什么名字,邮件中显示什么名字
att1["Content-Disposition"] = 'attachment; filename="test1.txt"'
msg.attach(att1)
smtobj = smtplib.SMTP_SSL('smtp.qq.com')
smtobj.connect('smtp.qq.com', 465)#连接(connect)指定服务器
smtobj.login(from_address, password)#登录,需要:登录邮箱和授权码
smtobj.sendmail(from_address,to_address,msg.as_string())#发邮件
print('邮件发送成功')
# #关闭服务器
smtobj.quit()