python 发送邮件 163_Python 调用163邮箱发送邮件

Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。

在发送邮件前,首先申请一个163邮箱,开启SMTP功能,采用的是网易的电子邮件服务器smtp.163.com

源码如下:

#encoding:utf-8

from email import encoders

from email.header import Header

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

from email.mime.base import MIMEBase

from email.utils import formataddr,parseaddr

import smtplib

import time

def _format_addr(s):

name,addr = parseaddr(s)

return formataddr((Header(name,'utf-8').encode(),addr))

#附件图片路径

src='E:\a\b'

#发件人地址

from_addr = '1234@163.com'

#邮箱密码

password ='1234'

#收件人地址

to_addr = '1234@qq.com'

#163网易邮箱服务器地址

smtp_server = 'smtp.163.com'

#设置邮件信息

msg = MIMEMultipart()

msg['From']=_format_addr('图片分享'%from_addr)

msg['To']=_format_addr('管理员'%to_addr)

msg['Subject'] = Header('图片分享','utf-8').encode()

now_time =time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))#获取当前时间

#邮件的正文是MIMEText

msg.attach(MIMEText(now_time+'请欣赏图片','plain','utf-8'))

#添加附件就是加上一个MIMEBase,从本地读取图片

for i in range(0,20):

with open(src+'\\img'+str(i)+'.jpg','rb') as f:

#这里附件的MIME和文件名,jpg类型

mime = MIMEBase('image','jpg',filename='img'+str(i)+'.jpg')

# 加上必要的头信息

mime.add_header('Content-Disposition', 'attachment', filename=str(i)+'.jpg')

mime.add_header('Content-ID', '<0>')

mime.add_header('X-Attachment-Id', '0')

# 把附件的内容读进来

mime.set_payload(f.read())

# 用Base64编码

encoders.encode_base64(mime)

msg.attach(mime)

#发送邮件

server = smtplib.SMTP(smtp_server,25)

server.login(from_addr,password)

server.sendmail(from_addr,[to_addr],msg.as_string())

server.quit()

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值