木叶下

  • 编程算法
  • 深度学习
  • 微小工作
  • 善用软件
  • 杂记
  • 诗人远方
南国羽说
文字记录生活
  1. 首页
  2. 编程算法
  3. 正文

以STMP协议使用阿里云邮件推送产品发送含附件邮件失败(吐槽)

2016年8月7日 11997点热度 30人点赞 0条评论

这几天我在准备新的项目,需要用到大量的邮件推送服务支撑,肯定不能用126、163、qq之类的,于是使用了阿里云的邮件推送服务,价格比较实惠。但是,从昨晚20点开始折腾到今早6:34,他喵的带附件的邮件无法被亚马逊的邮件服务器接收。一晚上呀!!!哥呀,我给自己的QQ、GMAIL邮箱发测试邮件,可以收到邮件,一切正常,就他喵的亚马逊收不到。

起初我以为自己程序写错了,MIME协议使用没问题呀,以下是程序:

 

# coding=utf-8
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email import encoders
import smtplib
from email.utils import parseaddr, formataddr
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email import utils
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.utils import parseaddr, formataddr
from email.mime.application import MIMEApplication


def _format_addr(s):
	name, addr = parseaddr(s)
	return formataddr((Header(name, 'utf-8').encode(), addr))


stmp_user = "kindle@mail.nanguoyu.us"
password = "我是密码君"
smtp_server = "smtpdm.aliyun.com"
from_addr = "卡尺姑娘<kindle@mail.nanguoyu.us>"
to_addr = "nanguoyu_alice@kindle.cn"
a = "nanguoyu_alice@kindle.cn"
filename = 'E:\\workplace\\tomato_kindle\\book\\论文写作国家标准.doc'
book = '论文写作国家标准.doc'
'''邮件正文'''
msg = MIMEMultipart('mixed')
msg['From'] = _format_addr(from_addr)
msg['To'] = _format_addr(to_addr)
msg['Subject'] = Header(book[:book.find('.')], 'utf-8').encode()
msg['Date'] = utils.formatdate(localtime=1)

msg.attach(MIMEText('我是正文君'.encode('utf-8'), _charset='utf-8'))


# 添加附件就是加上一个MIMEBase,从本地读取一个图片:
with open(filename, 'rb') as f:
	# 设置附件的MIME和文件名,这里是png类型:
	mime = MIMEBase('application', 'octet-stream', filename=book)
	# 加上必要的头信息:
	mime.add_header('Content-Disposition', 'attachment', filename=book)
	mime.add_header('Content-ID', '<0>')
	mime.add_header('X-Attachment-Id', '0')
	# 把附件的内容读进来:
	mime.set_payload(f.read())
	# 用Base64编码:
	encoders.encode_base64(mime)
	# 添加到MIMEMultipart:
	msg.attach(mime)

try:
	server = smtplib.SMTP(smtp_server, 25)
	server.set_debuglevel(1)
	server.login(stmp_user, password)
	server.sendmail(stmp_user, [to_addr], msg.as_string())
	server.quit()
except smtplib.SMTPException:
	print("Error: 无法发送邮件")

 

琢磨着一直这么着也不是办法,找出万年不用的126邮箱,我天竟然发过去了。

我已经不想在阿里云发工单了,看都不想看。

另,现在QQ邮箱已经屏蔽了我的邮件域名。23333333333333

标签: 吐槽
最后更新:2019年4月7日

Dong Wang

I am a PhD student of TU Graz in Austria. My research interests include Embedded/Edge AI, efficient machine learning, model sparsity, deep learning, computer vision, and IoT. I would like to understand the foundational problems in deep learning.

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

COPYRIGHT © 2013-2024 nanguoyu.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

陕ICP备14007751号-1