用python自动发送邮件

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值