python发邮件实例_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 = '

亲爱的
'

#一定要设置邮件格式,否则可能会乱码,当时接手别人手中没加邮件格式的项目,坑了我半天

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','')

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值