文本类邮件
# -*- encoding: utf-8 -*-
# @Author : Running_Tiger
# @File : sendmail.py
# @Time : 2020/11/3 0:25
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 第三方 SMTP 服务
mail_host = "smtp.163.com" # 设置服务器
mail_user = "XXX@163.com" # 用户名
mail_pass = "XXX" # 口令
sender = 'st_XXX@163.com' # 发送者
receivers = ['XXX@163.com','XXX@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
message = MIMEText('这是一个内部告警通知,请看到的运维人员及时处理', 'plain', 'utf-8') # 邮件内容,格,编码
message['From'] = "Running_Tiger" # 发送者
message['To'] = "CSDN" # 接收者
# 163的from和to使用字符串,其他邮箱可以使用下面方式
# message['From'] = Header("Running_Tiger", 'utf-8') # 发送者
# message['To'] = Header("CSDN", 'utf-8') # 接收者
subject = 'Running_Tiger告警邮件' # 邮件主题
message['Subject'] = Header(subject, 'utf-8')
# 发送邮件
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string()) # 开始发送邮件
print("邮件发送成功")
except smtplib.SMTPException as e:
print(e)
print("Error: 无法发送邮件")
HTML类邮件
在构造MIMEText对象时,把HTML字符串传进去,再把第二个参数由plain变为html
# -*- encoding: utf-8 -*-
# @Author : Running_Tiger
# @File : sendmail.py
# @Time : 2020/11/3 0:30
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 第三方 SMTP 服务
mail_host = "smtp.163.com" # 设置服务器
mail_user = "XXX@163.com" # 用户名
mail_pass = "XXX" # 口令
sender = 'st_XXX@163.com' # 发送者
receivers = ['XXX@163.com','XXX@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
mail_msg = """
<p>Python 邮件发送测试...</p>
<p><a href="https://blog.csdn.net/qq_41455420">Running_Tiger博客主页</a></p>
"""
message = MIMEText(mail_msg , 'html', 'utf-8') # 邮件内容,格式,编码
message['From'] = "Running_Tiger" # 发送者
message['To'] = "CSDN" # 接收者
subject = 'Running_Tiger告警邮件2' # 邮件主题
message['Subject'] = Header(subject, 'utf-8')
# 发送邮件
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string()) # 开始发送邮件
print("邮件发送成功")
except smtplib.SMTPException as e:
print(e)
print("Error: 无法发送邮件")
附件类邮件
发送带附件的邮件,首先要创建MIMEMultipart()实例,然后构造附件,如果有多个附件,可依次构造,最后利用smtplib.smtp发送。
# -*- encoding: utf-8 -*-
# @Author : Running_Tiger
# @File : sendmail.py
# @Time : 2020/11/3 0:40
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
# 第三方 SMTP 服务
mail_host = "smtp.163.com" # 设置服务器
mail_user = "XXX@163.com" # 用户名
mail_pass = "XXX" # 口令
sender = 'st_XXX@163.com' # 发送者
receivers = ['XXX@163.com','XXX@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
#创建一个带附件的实例
message = MIMEMultipart()
#邮件正文内容
message.attach(MIMEText('带附件邮件发送测试……', 'plain', 'utf-8'))
message['From'] = "Running_Tiger" # 发送者
message['To'] = "CSDN" # 接收者
subject = 'Running_Tiger告警邮件2' # 邮件主题
message['Subject'] = Header(subject, 'utf-8')
# 构造附件1,传送当前目录下的 test.txt 文件
att = MIMEText(open('test.txt', 'rb').read(), 'base64', 'utf-8')
att["Content-Type"] = 'application/octet-stream'
# 这里的filename可以任意写,写什么名字,邮件中显示什么名字
att["Content-Disposition"] = 'attachment; filename="test.txt"'
# 附件添加进邮件
message.attach(att1)
# 发送邮件
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string()) # 开始发送邮件
print("邮件发送成功")
except smtplib.SMTPException as e:
print(e)
print("Error: 无法发送邮件")
SSL加密邮件
QQ 邮箱 SMTP 服务器地址:smtp.qq.com ssl 端口:465
163邮箱 SMTP 服务器地址:smtp.163.com ssl 端口:465
旧阿里邮箱 SMTP 服务器地址:smtp.mxhichina.com ssl 端口:465
新阿里邮箱 SMTP 服务器地址:smtp.qiye.aliyun.com ssl 端口:465
# -*- encoding: utf-8 -*-
# @Author : Running_Tiger
# @File : sendmail.py
# @Time : 2020/11/3 0:50
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 第三方 SMTP 服务
mail_host = "smtp.163.com" # 设置服务器
mail_user = "XXX@163.com" # 用户名
mail_pass = "XXX" # 口令
sender = 'st_XXX@163.com' # 发送者
receivers = ['XXX@163.com','XXX@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
message = MIMEText('这是一个内部告警通知,请看到的运维人员及时处理', 'plain', 'utf-8') # 邮件内容,格,编码
message['From'] = "Running_Tiger4" # 发送者
message['To'] = "CSDN" # 接收者
subject = 'Running_Tiger告警邮件' # 邮件主题
message['Subject'] = Header(subject, 'utf-8')
# 发送邮件
try:
smtpObj = smtplib.SMTP_SSL(mail_host,465) # 创建对象和常规有区别哦!
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string()) # 开始发送邮件
print("邮件发送成功")
except smtplib.SMTPException as e:
print(e)
print("Error: 无法发送邮件")
喜欢就点赞评论+关注吧
感谢阅读,希望能帮助到大家,谢谢大家的支持!