Linux上Python3使用smtp发送邮件

本文详细介绍如何使用Python结合smtp.qq.com实现邮件发送功能,包括代码实现、常见问题及解决方案,如SSL协议支持、跨平台编码问题及多Python版本环境下的配置调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现功能

使用Python+第三方邮件服务器(smtp.qq.com)实现邮件发送功能。

代码实现

#!/usr/bin/python
# coding=utf-8

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

import requests
import json
import time

# 第三方 SMTP 服务
mail_host = "smtp.qq.com"  # 设置qq服务器
mail_user = "xxx@qq.com"  # 用户名
mail_pass = "xxx"  # 授权码

sender = 'xxx@qq.com' # 发件人邮箱
receivers = ['xx00@qq.com'] # 收件人邮箱,可设置为你的QQ邮箱或者其他邮箱

if __name__ == '__main__':
    mail_content = "这是我的邮件内容内容..." # 邮件内容
    message = MIMEText(mail_content, 'plain', 'utf-8')
    message['Subject'] = Header('python发邮件', 'utf-8') # 邮件主题
    message['From'] = Header("我是发件人", 'utf-8') # 发件人昵称
    message['To'] = Header("我是收件人", 'utf-8') # 收件人昵称

    try:
        smtp = smtplib.SMTP_SSL(mail_host) # SMTP_SSL默认使用465端口
        #smtp.set_debuglevel(2)
        #smtp.ehlo(mail_host)
        smtp.login(mail_user, mail_pass)
        smtp.sendmail(sender, receivers, message.as_string()) # 发送邮件
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("Error: 无法发送邮件")

遇到的问题

参考
QQ授权码获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值