AI智能
改变未来

用python自动发送邮件

本文采用的是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()

运行以上脚本就可以发送邮件了。
如遇到错误可以查看错误信息,到评论区贴出,博主可以帮看

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 用python自动发送邮件