1、通过python发送邮件,python默认支持smtplib
import smtplib from email.mime.text import MIMEText from email.header import Header # 第三方 SMTP 服务 mail_host="smtp.XXX.com" #设置服务器 mail_user="XXXX" #用户名 mail_pass="XXXXXX" #口令 sender = 'from@runoob.com' receivers = ['429240967@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱 message = MIMEText('Python 邮件发送测试...', 'plain', 'utf-8') message['From'] = Header("菜鸟教程", 'utf-8') message['To'] = Header("测试", 'utf-8') subject = 'Python SMTP 邮件测试' message['Subject'] = Header(subject, 'utf-8') try: smtpObj = smtplib.SMTP() smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号 smtpObj.login(mail_user,mail_pass) smtpObj.sendmail(sender, receivers, message.as_string()) print("邮件发送成功") except smtplib.SMTPException: print("Error: 无法发送邮件")
引用菜鸟教程的代码。
关注点1、发送邮件的地址获取,寻找IT,配置一个公共邮箱,密码就是上面的口令
2、查看发件服务器地址
端口一般是25
3、由于smtp的25端口容易收到攻击,所以对于某些云服务器,比如说阿里云上的开发机,25端口是被禁止的;此时应该采用其他可用的端口和协议来发送
那连接方式不同了。SMTP发件服务器地址:smtp.163.com 安全:开(SSL/TLS) 端口号:465 / 994 都可以
开放25端口的,可以
smtplib.SMTP('localhost',port=25)
没开放的话:
smtplib.SMTP_SSL(SMTP_SERVER,465)或者
smtplib.SMTP_SSL(SMTP_SERVER,994)
4、如果出现问题,可以参考下面博客地址
https://blog.csdn.net/helloxiaozhe/article/details/106504456