python发送邮件实例分享

发布时间 - 2026-01-11 02:32:50    点击率:

为了更好的理解邮件发送功能的实现,要先了解邮件发送系统的大致流程。首先  电子邮件之间的相互发送接受就像  邮局邮件发送一样,从一个站点(邮件发送服务器)到目的地站点(邮件接收服务器),然后目的地站点处理收到的邮件,并发送给接受人。每个邮件服务器即担任发送也担任接受邮件,并且每个服务器地址,端口号,配置等也不同。

其实发送邮件的流程就 两部:

第一:写邮件

写好发送方,接受方
写好主题
写好正文(包括附件,图片等)
把信件整理在一起

第二:发送邮件

连接发送邮件服务器
登录邮箱
发送邮件
退出邮箱

代码部分:

# -*- coding:utf-8 -*-
import smtplib
from email.header import Header
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

#创建邮件对象,相当于信纸
msg = MIMEMultipart()
#邮件发送方
msg['From'] = 'XXXXXXXX.qq.com'
#邮件接收方
msg['To'] = '1212112@qq.com'
#邮件主题
msg['Subject'] = Header('这是邮箱主题部分', charset='UTF-8')#中文主题

#文本内容
txt = '亲爱的用户'
part1 = MIMEText(txt, 'plain', 'utf-8')
#添加到邮件中
msg.attach(part1)

#超文本内容,放有图片,注意src路径,此为放在同一目录中
html = '<div><img src="cid:image1">亲爱的</div>'
#一定要设置邮件格式,否则可能会乱码,当时接手别人手中没加邮件格式的项目,坑了我半天
part2 = MIMEText(html, 'html', 'utf-8')
#添加到邮件中
msg.attach(part2)

#图片放到邮件中
# 指定图片为当前目录
fp = open('test.png', 'rb')
msgImage = MIMEImage(fp.read())
fp.close()
# 定义图片 ID,在 HTML 文本中引用
msgImage.add_header('Content-ID', '<image1>')
msg.attach(msgImage)

#加入附件
att2 = MIMEText('这是附件里的文字', 'base64', 'utf-8')
att2["Content-Type"] = 'application/octet-stream'
#设置附件名为runoob.txt
att2["Content-Disposition"] = 'attachment; filename="runoob.txt"'
#附件放在邮件中
msg.attach(att2)

#非ssl方式的smtp(简单邮件发送协议),下面注释为ssl方式的smtp
smtp = smtplib.SMTP()
# smtp = smtplib.SMTP_SSL()

try:
 #连接主机地址
 smtp.connect('mail.yto.net.cn:25')
 #登录邮箱,需要邮箱账号,密码
 smtp.login('XXXXXXXX.qq.com','234123')
 #发送邮件,需要登录的邮箱号,发送方的邮箱号,发送内容
 smtp.sendmail('XXXXXXXX.qq.com', '1212112@qq.com', msg.as_string())
 #退出邮箱
 smtp.quit()
 print 'The mail is sended successly.'
except smtplib.SMTPException,e:
 print "Error: 无法发送邮件",e

发送结果:

注意点:当自己邮箱作为邮件发送方时,注意邮件服务器的设置里把smtp服务打开

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# python  # 发送邮件  # python发送邮件的实例代码(支持html、图片、附件)  # python中使用smtplib和email模块发送邮件实例  # Python实现给qq邮箱发送邮件的方法  # Python实现SMTP发送邮件详细教程  # python同时给两个收件人发送邮件的方法  # 二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)  # python发送邮件示例(支持中文邮件标题)  # python发送邮件接收邮件示例分享  # 基于python发送邮件的乱码问题的解决办法  # python监控网站运行异常并发送邮件的方法  # 邮件发送  # 这是  # 写好  # 邮件服务器  # 放在  # 就像  # 半天  # 要先  # 两部  # 此为  # 为了更好  # 大家多多  # 端口号  # 手中  # 电子邮件  # 目录中  # 在同一  # MIMEText  # text 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  C++时间戳转换成日期时间的步骤和示例代码  免费网站制作appp,免费制作app哪个平台好?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  php 三元运算符实例详细介绍  如何在橙子建站中快速调整背景颜色?  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  教你用AI将一段旋律扩展成一首完整的曲子  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  个人摄影网站制作流程,摄影爱好者都去什么网站?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  网站优化排名时,需要考虑哪些问题呢?  canvas 画布在主流浏览器中的尺寸限制详细介绍  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何确认建站备案号应放置的具体位置?  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  Laravel如何处理CORS跨域请求?(配置示例)  Laravel如何处理文件下载请求?(Response示例)  如何在局域网内绑定自建网站域名?  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  黑客如何通过漏洞一步步攻陷网站服务器?  如何快速搭建个人网站并优化SEO?  深圳网站制作培训,深圳哪些招聘网站比较好?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  如何用狗爹虚拟主机快速搭建网站?  Laravel怎么使用artisan命令缓存配置和视图  如何在建站之星绑定自定义域名?  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  如何在万网自助建站中设置域名及备案?  如何用JavaScript实现文本编辑器_光标和选区怎么处理  网站制作软件有哪些,制图软件有哪些?  如何快速搭建高效WAP手机网站吸引移动用户?  bing浏览器学术搜索入口_bing学术文献检索地址  Android 常见的图片加载框架详细介绍  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  三星、SK海力士获美批准:可向中国出口芯片制造设备  Java类加载基本过程详细介绍  如何在IIS中新建站点并解决端口绑定冲突?  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  Laravel安装步骤详细教程_Laravel环境搭建指南