← 返回首页

使用Python给自己发邮件(所有的真实信息已修改不要复制用)

程序如下,注意smtp只生成一次,注意保存:

CODE
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.utils import formataddr

def send_qq_email():
    # ==================== 请在这里修改你的信息 ====================
    # 1. 你的QQ邮箱账号(完整的,比如 123456@qq.com)
    sender_email = "3182790@qq.com"
    
    # 2. 刚刚生成的16位授权码(注意:去掉图片里显示的空格)
    #    图片里的授权码是:emjqta julu fvbgch -> 实际填写:emjqtajulufvbgch
    auth_code = "emjqtajulufxbxx"
    
    # 3. 收件人邮箱(可以是你自己,也可以是别人)
    receiver_email = "1508242636@139.com"
    
    # 4. 邮件主题和内容
    subject = "Python 自动发送测试邮件"
    content = "你好!这是一封由 Python 程序自动发送的邮件,说明配置成功了!"
    # ==============================================================

    # 创建邮件对象
    msg = MIMEMultipart()
    msg['From'] = formataddr(("Python发件人", sender_email))
    msg['To'] = formataddr(("收件人", receiver_email))
    msg['Subject'] = Header(subject, 'utf-8')

    # 添加邮件正文
    msg.attach(MIMEText(content, 'plain', 'utf-8'))

    try:
        print("正在连接 QQ 邮箱服务器...")
        # QQ邮箱 SMTP 服务器地址和端口(固定写法)
        smtp = smtplib.SMTP_SSL('smtp.qq.com', 465, timeout=10)
        
        print("正在登录...")
        smtp.login(sender_email, auth_code)
        
        print("正在发送邮件...")
        smtp.sendmail(sender_email, [receiver_email], msg.as_string())
        smtp.quit()
        
        print("✅ 邮件发送成功!请去收件箱查看。")
        
    except smtplib.SMTPAuthenticationError:
        print("❌ 登录失败!请检查:")
        print("   1. 授权码是否填错(不要有空格)")
        print("   2. 是否开启了SMTP服务")
        print("   3. 邮箱账号是否填完整(要带@qq.com)")
    except Exception as e:
        print(f"❌ 发送失败,错误信息:{e}")

if __name__ == '__main__':
    send_qq_email()

💬 评论 (0)

今日还可评论 3 条

还没有评论,来抢沙发吧。