python发送邮件实例分享

 更新时间:2017年07月28日 09:23:01   作者:RGC  
这篇文章主要为大家详细介绍了python发送邮件实例分享,教大家如何实现邮件发送功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

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

第一:写邮件

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

第二:发送邮件

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

代码部分:

# -*- 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服务打开

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

相关文章

  • Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程

    Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程

    wxPython是一款集成了Python的图形化类库的工具,而py2exe是一款将Python程序转换为exe可执行文件的程序,二者搭配可以轻松地在Windows中创建图形化程序,这里我们就来学习Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程:
    2016-07-07
  • 基于Python制作AI聊天软件的示例代码

    基于Python制作AI聊天软件的示例代码

    这篇文章主要为大家详细介绍了如何利用Python语言制作一个简易的AI聊天软件,可以实现自动聊天,文中的示例代码讲解详细,需要的可以参考一下
    2022-07-07
  • python实现人机五子棋

    python实现人机五子棋

    这篇文章主要为大家详细介绍了python实现人机五子棋,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Python实现奇数列与偶数列调换的方法详解

    Python实现奇数列与偶数列调换的方法详解

    这篇文章主要为大家详细介绍了如何利用Python实现df的奇数列与偶数列调换位置,比如A列,B列,调换成B列,A列,感兴趣的小伙伴可以了解一下
    2022-05-05
  • 实例讲解Python的函数闭包使用中应注意的问题

    实例讲解Python的函数闭包使用中应注意的问题

    这里我们来以实例讲解Python的函数闭包使用中应注意的问题,主要针对闭包后新生成的变量来不及初始化而导致找不到变量的错误出现,需要的朋友可以参考下
    2016-06-06
  • 详解如何使用OpenCV和像素处理图像灰度化

    详解如何使用OpenCV和像素处理图像灰度化

    这篇文章主要为大家介绍了如何使用OpenCV和像素处理图像灰度化的方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Python中assert函数的使用(含源代码)

    Python中assert函数的使用(含源代码)

    本文主要介绍了Python中assert函数的使用(含源代码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 详解Flask开发技巧之异常处理

    详解Flask开发技巧之异常处理

    Flask是一个微型的Python开发的Web框架,基于Werkzeug WSGI工具箱和Jinja2 模板引擎。Flask使用BSD授权。Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。本文主要介绍了它的异常处理机制
    2021-06-06
  • python pyecharts 实现一个文件绘制多张图

    python pyecharts 实现一个文件绘制多张图

    这篇文章主要介绍了python pyecharts 实现一个文件绘制多张图,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 浅谈python日志的配置文件路径问题

    浅谈python日志的配置文件路径问题

    下面小编就为大家分享一篇浅谈python日志的配置文件路径问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04

最新评论