目录
前言
模块
代码示例
范例一 发送信息
范例二 发送附件
日常办公,离不开邮箱的使用.
对于一些重要的程序运行,需要运维时时刻刻去关注它运行的状态,监控服务器、网络设备、存储设备等基础设施的运行状态,包括硬件健康状态、负载情况、带宽使用、存储空间等。当监控指标超过阈值或发生异常时,及时通过邮件发送告警通知给运维人员。
模块名称 | 作用 | 操作 |
smtplib | 发送电子邮件 | 连接到SMTP服务器、发送邮件、处理身份验证和错误处理等 |
进行电子邮件的创建、发送和解析操作 | 1.连接到SMTP服务器、发送邮件、处理身份验证和错误处理等 2.解析接收到的电子邮件消息,并提取其中的各个部分,如发件人、收件人、主题、正文和附件等。 3.处理HTML格式的邮件、处理多种编码方式的文本、处理邮件头部信息等。 |
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 邮件内容
msg = MIMEText('这是一封测试邮件', 'plain', 'utf-8')
msg['From'] = Header('发件人', 'utf-8')
msg['To'] = Header('收件人', 'utf-8')
msg['Subject'] = Header('邮件主题', 'utf-8')
# 发送邮件
try:
smtp_obj = smtplib.SMTP('smtp.example.com', 25) # 设置 SMTP 服务器地址和端口号
smtp_obj.login('发件人邮箱', '密码') # 登录邮箱账号和密码
smtp_obj.sendmail('发件人', '收件人', msg.as_string()) # 发送邮件
smtp_obj.quit() # 断开连接
print("邮件发送成功")
except Exception as e:
print("邮件发送失败:", str(e))
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
# SMTP服务器地址和端口
smtp_server = 'your_smtp_server'
smtp_port = 587
# 发件人和收件人
sender_email = '[email protected]'
receiver_email = '[email protected]'
# 构建邮件对象
message = MIMEMultipart()
message['From'] = sender_email
message['To'] = receiver_email
message['Subject'] = 'Python Email with Attachment'
# 邮件正文
body = 'This is the body of the email.'
message.attach(MIMEText(body, 'plain'))
# 附件路径和文件名
filenames = ['xxx/attachment.pdf']
# 读取附件文件并添加到邮件对象中
for tmp in filenames:
base_name = os.path.basename(tmp)
with open(tmp, 'rb') as f:
attachfiles = MIMEApplication(f.read())
attachfiles.add_header('Content-Disposition', 'attachment', filename=base_name)
message.attach(attachfiles)
# 连接SMTP服务器并发送邮件
with smtplib.SMTP(smtp_server, smtp_port) as server:
if server.verify(sender_email):
print(f"发送者有效")
if server.verify(receiver_email):
print(f"接受者有效")
# starttls 加密连接, 无加密连接可忽略
server.starttls()
server.login(sender_email, 'your_password')
server.send_message(message)