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