【Python】使用smtplib发送邮件

Talk is cheap, speak in code.

#!/usr/bin/python
# -*- coding:utf-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 第三方 SMTP 服务
mail_host = "smtp.qq.com"  # 设置服务器
mail_user = "xxxxx@qq.com"  # 用户名
mail_pass = 'xxxxx'  # 口令,建议使用客户端授权码

sender = 'xxxxx@qq.com'
receiver = 'receiverxxx@qq.com'
receivers = [receiver ]  # 收件邮箱


def send_mail(content):
    message = MIMEText(content, 'plain', 'utf-8')
    message['From'] = Header("SenderName <" + sender + ">", 'utf-8')
    message['To'] = Header("ReceiverName<" + receiver + ">", 'utf-8')

    subject = '测试邮件'
    message['Subject'] = Header(subject, 'utf-8')
    try:
        smtp_obj = smtplib.SMTP()
        smtp_obj.connect(mail_host, 25)  # 25 为 SMTP 端口号
        smtp_obj.login(mail_user, mail_pass)
        smtp_obj.sendmail(sender, receivers, message.as_string())
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("Error: 邮件发送失败")

注:

1. 登录密码建议使用客户端授权码,部分邮箱好像有限制只能使用授权码登录;

2. Header书写注意规范,部分邮件实际收件人与Header信息不符会发送失败,如网易邮箱;

3. 邮件标题或内容中包含“测试”等内容可能会被服务器拦截。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值