python脚本发送SMTP邮件例程

本文介绍如何使用 Python 的 smtplib 库来发送不同类型的邮件,包括纯文本邮件、HTML 格式的邮件以及带有附件的邮件。示例中详细展示了如何配置邮件服务器、设置邮件内容及附件,并通过 SMTP 协议进行发送。

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

python脚本发送SMTP邮件例程

  • 1.文本
#!D:\software\Microsoft Visual Studio\Shared\Python36_64\python.exe
# -*- coding: utf-8 -*-

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

sender="XXXXXXXXXX@sina.cn"
receiver="XXXXXXXXXX@qq.com"
severname="smtp.sina.cn"
mailpass="XXXXXXXXXX"

message=MIMEText('python 邮件发送测试','plain','utf-8')
message['From']="{}".format(sender)
message['To']=",".join(receiver)
message['Subject']='python test'
try:
    sm=smtplib.SMTP()
    sm.connect(severname,25)
    sm.login(sender,mailpass)
    sm.sendmail(sender,receiver,message.as_string())
    print("you have sended this email sucessfully")
except smtplib.SMTPException:
    print("error,无法发送此邮件")
  • 2.html
#!D:\software\Microsoft Visual Studio\Shared\Python36_64\python.exe
# -*- coding: utf-8 -*-

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

sender="XXXXXXXXXX@sina.cn"
receiver="XXXXXXXXXX@qq.com"
severname="smtp.sina.cn"
mailpass="XXXXXXXXXX"

mailmessage="""
<p>python test</p>
<p><a href="http://www.runoob.com">这是一个链接</a>
"""
message=MIMEText(mailmessage,'html','utf-8')
message['From']=Header(sender)
message['To']=Header(receiver)
message['Subject']='python学习'

try:
    st=smtplib.SMTP()
    st.connect(severname,25)
    st.login(sender,mailpass)
    st.sendmail(sender,receiver,message.as_string())
    print("邮件发送成功")
except smtplib.SMTPException:
    print("邮件发送失败")
  • 3.带附件
#!D:\software\Microsoft Visual Studio\Shared\Python36_64\python.exe
# -*- coding: utf-8 -*-

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

sender="XXXXXXXXXX@sina.cn"
receiver="XXXXXXXXXX@qq.com"
severname="smtp.sina.cn"
mailpass="XXXXXXXXXX"

message=MIMEMultipart()
message['From']=Header(sender)
message['To']=Header(receiver)
message['Subject']='python学习'

message.attach(MIMEText('这个是测试','plain','utf-8'))

att1=MIMEText(open('test.txt','rb').read(),'base64','utf-8')
att1["Content-Type"]='application/octet-stream'
att1["Content-Disposition"]='attachment;filename="test.txt"'
message.attach(att1)
try:
    sm=smtplib.SMTP()
    sm.connect(severname,25)
    sm.login(sender,mailpass)
    sm.sendmail(sender,receiver,message.as_string())
    print("you have sended this email sucessfully")
except smtplib.SMTPException:
    print("error,无法发送此邮件")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值