本文采用的是python2,利用SMTP协议和163邮箱发送邮件到指定邮箱。在使用前,需要利用你的第三方邮箱作为SMTP的服务器,一般可以使用QQ邮箱或者163邮箱。即可以理解为利用这个python脚本来登录163邮箱或者QQ邮箱发送给其他邮箱地址。
或者163邮箱的账户和授权码
登录你的163邮箱,在设置里面开启SMTP服务,开启后会分配一个授权码,请记下这个授权码
python脚本
#!/usr/bin/python# -*- coding: UTF-8 -*-import smtplibfrom email.mime.text import MIMETextfrom 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发信, 端口一般是465ret_code,ret_info = smtpObj.login(mail_user,mail_pass)print \"ret_code: \" + str(ret_code) + \" &ret_info: \" + ret_inforet_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()
运行以上脚本就可以发送邮件了。
如遇到错误可以查看错误信息,到评论区贴出,博主可以帮看