python-发送Foxmail邮件

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

 

 

posted @ 2021-04-02 14:03  oneforall97  阅读(1873)  评论(1编辑  收藏  举报