业务系统中经常需要用到发送邮件功能,如使用邮箱找回密码,发送告警信息,发送通知信息等等,下面分享一个使用python写的发送163邮件的代码,使用起来也非常简单,可用配合shell脚本一起使用更简单。上代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import sys
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
def send_email(body):
# 设置邮件服务器的信息
smtp_server = 'smtp.163.com'
username = 发送邮箱地址'
password = '发送邮箱密钥'
to = '接收人邮箱地址'
# 创建一个MIMEMultipart对象,然后设置其属性
msg = MIMEText(body, 'plain', 'utf-8')
msg['From'] = username
msg['To'] = to # 收件人的邮箱地址
msg['Subject'] = '服务器监控告警' # 邮件主题
# 连接到SMTP服务器并发送邮件
try:
server = smtplib.SMTP()
server.connect(smtp_server)
server.login(username, password)
server.sendmail(username, to, msg.as_string())
server.quit()
print('Email sent successfully.')
except smtplib.SMTPException as e:
print ("邮件发送失败",e)
if __name__ == '__main__':
send_email(sys.argv[1])
使用也非常简单,这里举例通过shell脚本使用,直接在脚本中使用命令:
python sendMail.py "通过python发送邮件测试"
此处仅做简单演示,因为python的main函数参数有长度限制,所以具体使用,还需要依据自己的业务做调整。