目录
发送文本内容
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
mail_user = '[email protected]' # 发件人邮箱账号
mail_pass = 'xxx' # 发件人邮箱密码
received_user = '[email protected]' # 收件人邮箱账号
try:
msg=MIMEText('邮件内容','plain','utf-8')
msg['Subject']="邮件标题" # 邮件的主题,也可以说是标题
msg['From']=formataddr(["发件人名称",mail_user]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号
msg['To']=formataddr(["收件人名称",received_user]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号
#server=smtplib.SMTP("xx.xx", 25) #发件人邮箱中的SMTP服务器,默认是25
server=smtplib.SMTP_SSL("smtp.qq.com", 465) #发件人邮箱中的SMTP服务器,这里我写的是QQ邮箱的SMTP服务器,默认是25,SSL端口是465
server.login(mail_user, mail_pass) # 括号中对应的是发件人邮箱账号、邮箱密码
server.sendmail(mail_user,[received_user],msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送的邮件
#server.sendmail(mail_user,[received_user,received_user2],msg.as_string()) #多个收件人的话
server.quit() # 关闭连接
print("邮件发送成功")
except Exception as e:
print("邮件发送失败")
print("异常的类型是:%s"%type(e))
print("异常的内容是:%s"%e)
发送html格式的邮件
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
mail_user = '[email protected]' # 发件人邮箱账号
mail_pass = 'xxx' # 发件人邮箱密码
received_user = '[email protected]' # 收件人邮箱账号
mail_msg = """
<p>Python 邮件发送测试...</p>
<p><a href="http://www.baidu.com">这是一个链接</a></p>
"""
try:
msg=MIMEText(mail_msg,'html','utf-8')
msg['Subject']="邮件标题" # 邮件的主题,也可以说是标题
msg['From']=formataddr(["发件人名称",mail_user]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号
msg['To']=formataddr(["收件人名称",received_user]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号
server=smtplib.SMTP_SSL("smtp.qq.com", 465) # 发件人邮箱中的SMTP服务器,默认是25,SSL端口是465
server.login(mail_user, mail_pass) # 括号中对应的是发件人邮箱账号、邮箱密码
server.sendmail(mail_user,[received_user],msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送的邮件
server.quit() # 关闭连接
print("邮件发送成功")
except Exception as e:
print("邮件发送失败")
print("异常的类型是:%s"%type(e))
print("异常的内容是:%s"%e)
发送带附件的邮件
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
from email.utils import formataddr
mail_user = '[email protected]' # 发件人邮箱账号
mail_pass = 'xxx' # 发件人邮箱密码
received_user = '[email protected]' # 收件人邮箱账号
try:
message = MIMEMultipart()
message['Subject']="邮件标题" # 邮件的主题,也可以说是标题
message['From']=formataddr(["发件人名称",mail_user]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号
message['To']=formataddr(["收件人名称",received_user]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号
message.attach(MIMEText("邮件正文内容","plain","utf-8"))
# 发送方式1,发送当前目录下的test.txt
filename1="test.txt"
att1 = MIMEText(open(filename1, 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = "attachment;filename="+filename1 # 这里的filename可以任意写,写什么名字,邮件中显示什么名字
message.attach(att1)
# 发送方式2,发送当前目录下的test.jpg
filename2="test.jpg"
fileApart = MIMEApplication(open(filename2, 'rb').read())
fileApart.add_header('Content-Disposition', 'attachment', filename=filename2)
message.attach(fileApart)
server=smtplib.SMTP_SSL("smtp.qq.com", 465) # 发件人邮箱中的SMTP服务器,默认是25,SSL端口是465
server.login(mail_user, mail_pass) # 括号中对应的是发件人邮箱账号、邮箱密码
server.sendmail(mail_user,[received_user],message.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送的邮件
server.quit() # 关闭连接
print("邮件发送成功")
except Exception as e:
print("邮件发送失败")
print("异常的类型是:%s"%type(e))
print("异常的内容是:%s"%e)