作者jn8029 (宅男8029)
看板Python
标题[问题] gmail api夹带档案pdf空白或毁损
时间Mon Nov 14 15:01:51 2016
各位大神好,
小弟刚学python一个月,很多概念都不是很懂。
来这里向大家请教,希望会的人可以帮帮忙
以下python 3.5 code是抓gmail api网站上修改的
(网站
https://developers.google.com/gmail/api/guides/sending)
def create_message_with_attachment(bcc, subject, message_text,
file,sender=sender ):
message = MIMEMultipart()
message['bcc'] = bcc
message['from'] = sender
message['subject'] = subject
msg = MIMEText(message_text)
message.attach(msg)
content_type, encoding = mimetypes.guess_type(file)
main_type, sub_type = content_type.split('/', 1)
fp = open(file, 'rb')
msg = MIMEBase(main_type, sub_type)
msg.set_payload(fp.read())
fp.close()
filename = os.path.basename(file)
msg.add_header('Content-Disposition', 'attachment', filename=filename)
message.attach(msg)
raw = base64.urlsafe_b64encode(message.as_bytes())
raw = raw.decode()
return {'raw':raw}
当我file给他一个doc文件或是pdf文件的路径时
最後都可以成功记出夹带档案的email 但是夹带的档案都是空白或毁损
请问上面生成message的程式码有哪里有问题吗?
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.45.124
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1479106916.A.9FC.html
1F:→ MOONY135: 猜测应该是filename没有夹到附档名 11/14 16:41
2F:→ MOONY135: 找了一下 看起来也不是 11/14 17:03
3F:→ jn8029: 谢谢...不好意思我估狗到答案了 是encoding问题 已解决 11/14 17:36