原本本地代码:是完全可以发送邮件的,但是到阿里云服务器上就不行了

 

 

 需要改为:当然这种也支持本地

 

 

 

# 发送邮件
import smtplib
from email.mime.text import MIMEText
#设置服务器所需信息
#163邮箱服务器地址
mail_host = 'smtp.163.com'
#163用户名
mail_user = 'sjjhub@163.com'
#密码(部分邮箱为授权码)
mail_pass = 'XXXXXXXXX'
#邮件发送方邮箱地址
sender = 'sjjhub@163.com'
#邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发
receivers = ['648133599@qq.com']
 
#设置email信息
#邮件内容设置
message = MIMEText('content','plain','utf-8')
#邮件主题
message['Subject'] = 'title'
#发送方信息
message['From'] = sender
#接受方信息
message['To'] = receivers[0]
 
#登录并发送邮件
try:
    #连接到服务器
    # smtpObj = smtplib.SMTP()
    # smtpObj.connect(mail_host,25)
    # 在阿里云上就要改为下面这种,本地和服务器都友好:
    smtpObj = smtplib.SMTP_SSL(mail_host, 465)
    #登录到服务器
    smtpObj.login(mail_user,mail_pass)
    #发送
    smtpObj.sendmail(sender,receivers,message.as_string())
    #退出
    smtpObj.quit()
    print('success')
except smtplib.SMTPException as e:
    print('error',e) #打印错误

 

posted on 2022-04-10 14:44  砖头哥-  阅读(469)  评论(1)    收藏  举报