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.****.net/helloxiaozhe/article/details/106504456