本文采用的是python2,利用SMTP协议和163邮箱发送邮件到指定邮箱。在使用前,需要利用你的第三方邮箱作为SMTP的服务器,一般可以使用QQ邮箱或者163邮箱。即可以理解为利用这个python脚本来登录163邮箱或者QQ邮箱发送给其他邮箱地址。
或者163邮箱的账户和授权码
登录你的163邮箱,在设置里面开启SMTP服务,开启后会分配一个授权码,请记下这个授权码
python脚本
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 第三方 SMTP 服务
mail_host="smtp.163.com" # 163SMTP置服务器
mail_user="XXXX@163.com" # 你的163邮箱用户名
mail_pass="LXXXXXXXXXXXX" # 163给你的授权码
sender = 'XXXX@163.com' # 你的163邮箱
receivers = ['XXX@XXX.com'] # 接收邮件地址
message = MIMEText('Hi Victor \r\n I am from HuNan, Nice to meet you! \r\n Bob', 'plain', 'utf-8') # 第一个参数为你要发送的邮件内容
subject = 'My Notification' #你要发送的邮件标题
message['Subject'] = Header(subject, 'utf-8')
message['From'] = 'XXX<XXXX@163.com>' # 你的163邮箱
message['To'] = 'XXX@XXX.com' # 接收邮件地址
try:
smtpObj = smtplib.SMTP()
ret_code,ret_info = smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
print "ret_code: " + str(ret_code) + " &ret_info: " + ret_info
# smtpObj = smtplib.SMTP_SSL(mail_host, 465) # 启用SSL发信, 端口一般是465
ret_code,ret_info = smtpObj.login(mail_user,mail_pass)
print "ret_code: " + str(ret_code) + " &ret_info: " + ret_info
ret_info = smtpObj.sendmail(sender, receivers, message.as_string())
print "ret_info: " + str(ret_info)
except smtplib.SMTPException:
print u"Error: 无法发送邮件"
smtpObj.quit()
else:
print u"邮件发送成功"
smtpObj.quit()
运行以上脚本就可以发送邮件了。
如遇到错误可以查看错误信息,到评论区贴出,博主可以帮看