python发送邮件小结

本文介绍如何使用Python的smtplib模块结合email模块来发送邮件,包括配置SMTP服务、构造邮件内容及发送过程。

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

1.使用smtplib模块发送邮件

Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。

范例如下:

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

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

# 第三方 SMTP 服务
mail_host="smtp.sina.com"  #设置服务器
mail_user="XXXX"          #用户名
mail_pass="XXXXXX"        #口令 


sender = 'xxxxx@sina.com'
receivers = ['yyyyy@qq.com']  #邮件接收者

message = MIMEText('Python邮件发送测试...', 'plain', 'utf-8')
message['From'] = Header("zzzzz@sina.com", 'utf-8')
message['To'] =  Header("aaaaa@sina.com", 'utf-8')

subject = 'Python SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')

try:
    smtpObj = smtplib.SMTP() 
    smtpObj.connect(mail_host, 25)    # 25 为 SMTP 端口号
    smtpObj.login(mail_user,mail_pass)  
    smtpObj.sendmail(sender, receivers, message.as_string())
    print "邮件发送成功"
except smtplib.SMTPException:
    print "Error: 无法发送邮件"
备注:

(1)smtpObj.sendmail(from_addr, [to_addr], msg.as_string())里面的from_addrfrom_addr是实际的发件人和接收人
(2)message中的FromTo以及Subject是在接收到邮件时候显示的发件人和接收人,即邮件头header中的信息

(3)email模块中的Message类型结构是:

Message
+- MIMEBase
   +- MIMEMultipart
   +- MIMENonMultipart
      +- MIMEMessage
      +- MIMEText
      +- MIMEImage
构造一个邮件对象就是一个Messag对象,如果构造一个MIMEText对象,就表示一个文本邮件对象,如果构造一个MIMEImage对象,就表示一个作为附件的图片,要把多个对象组合起来,就用MIMEMultipart对象,而MIMEBase可以表示任何对象。


学习资料参考于:

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832745198026a685614e7462fb57dbf733cc9f3ad000

http://www.runoob.com/python/python-email.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值