python3使用腾讯企业邮箱发送邮件

1.腾讯企业邮箱SMTP服务器地址:smtp.exmail.qq.com,ssl端口为:465

2.确保腾讯企业邮箱中开启了SMTP服务:

python3使用腾讯企业邮箱发送邮件_第1张图片

3.示例代码:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
 
# 发件人邮箱账号
my_sender='[email protected]'  
# user登录邮箱的用户名,password登录邮箱的密码(授权码,即客户端密码,非网页版登录密码),但用腾讯邮箱的登录密码也能登录成功  
my_pass = 'xxxxxxxxx' 
# 收件人邮箱账号            
my_user='[email protected]'      
def mail():
    ret=True
    try:
        # 邮件内容
        msg=MIMEText('填写邮件内容','plain','utf-8')
        # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        msg['From']=formataddr(["xx",my_sender])  
        # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        msg['To']=formataddr(["xx",my_user])   
        # 邮件的主题           
        msg['Subject']="使用腾讯邮箱发送邮件测试"                
 
        # SMTP服务器,腾讯企业邮箱端口是465,腾讯邮箱支持SSL(不强制), 不支持TLS
        # qq邮箱smtp服务器地址:smtp.qq.com,端口号:456
        # 163邮箱smtp服务器地址:smtp.163.com,端口号:25
        server=smtplib.SMTP_SSL("smtp.exmail.qq.com", 465)  
        # 登录服务器,括号中对应的是发件人邮箱账号、邮箱密码
        server.login(my_sender, my_pass)  
        # 发送邮件,括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
        server.sendmail(my_sender,[my_user,],msg.as_string())  
        # 关闭连接
        server.quit() 
        # 如果 try 中的语句没有执行,则会执行下面的 ret=False 
    except Exception:  
        ret=False
    return ret
 
ret=mail()
if ret:
    print("邮件发送成功")
else:
    print("邮件发送失败")

4.如果更换其他邮箱,如qq邮箱、163邮箱等,按以上步骤设置,注意区分不同邮箱的smtp服务器地址和端口号即可。

你可能感兴趣的:(python)