python 实现腾讯企业邮箱发送邮件

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
import traceback
import threading


# 发件人邮箱账号
sender = 'xxxxxxx@shenshangtech.com'
# user登录邮箱的用户名,password登录邮箱的密码(授权码,即客户端密码,非网页版登录密码),但用腾讯邮箱的登录密码也能登录成功
password = 'xxxxxxx'

baidu_url = 'https://www.baidu.com'


def send_mail(mail_to, subject, content, sub_type='plain'):

    ret = True
    try:
        # 邮件内容
        msg = MIMEText(content, sub_type, 'utf-8')
        # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        msg['From'] = formataddr([sender, sender])
        # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        msg['To'] = formataddr([mail_to, mail_to])
        # 邮件的主题
        msg['Subject'] = 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(sender, password)
        # 发送邮件,括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
        server.sendmail(sender, [mail_to, ], msg.as_string())
        # 关闭连接
        server.quit()
        # 如果 try 中的语句没有执行,则会执行下面的 ret=False
    except Exception :
        traceback.format_exc()
        ret = False
    return ret


def send_async_mail(mail_to, subject, content, sub_type='plain'):
    thr = threading.Thread(target=send_mail, args=[mail_to, subject, content, sub_type])
    thr.start()


def send_async_mail_prepare(user_name, user_password, user_email):
    email_title = f'邮件主题-xxxxxx!'
    content = f"尊敬的xxxxxx您好:<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;" \
              f"这里是邮件的内容 xxxxxx, <br/><br/>" \
              f"&nbsp;&nbsp;&nbsp;&nbsp;百度地址是:<a href='{baidu_url}'>Baidu</a>"
    send_async_mail(user_email, email_title, content, "html")


if __name__ == "__main__":
    send_async_mail_prepare('test', 'test', 'xxxxx@sina.com')

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值