在Python邮件中包含html部分libgmail


2

我有一个关于它的用法的问题:我需要发送一个html格式的邮件。我准备我的消息

ga = libgmail.GmailAccount(USERNAME,PASSWORD) 
msg = MIMEMultipart('alternative') 
msg.attach(part1) 
msg.attach(part2) 
... 
ga.sendMessage(msg.as_string()) 

这样不工作,似乎不能用的sendMessage方法发送msg。 什么是正确的方法? :D

1

如果你参考sourceforge的libgmail,你需要用email module来编写你的消息。

生成HTML邮件为MIME document,并将其作为multipart MIME message的一部分包括在内。当你有一个完全构造的multipart MIME时,把它作为一个字符串传递给构造函数libgmail,使用.as_string()方法。

example in the doc包含的代码,类似的要求:

# Create message container - the correct MIME type is multipart/alternative. 
msg = MIMEMultipart('alternative') 
msg['Subject'] = "Link" 
msg['From'] = me 
msg['To'] = you 
... 
# Record the MIME types of both parts - text/plain and text/html. 
# ... text and html are strings with appropriate content. 
part1 = MIMEText(text, 'plain') 
part2 = MIMEText(html, 'html') 

# Attach parts into message container. 
# According to RFC 2046, the last part of a multipart message, in this case 
# the HTML message, is best and preferred. 
msg.attach(part1) 
msg.attach(part2) 
  0

感谢您的解释。现在我有msg对象,但我不知道如何将它传递给libgmail发送邮件的方法,如 libgmail.GmailAccount(USERNAME,PASSWORD) ga.sendMessage(msg.as_string()) 不起作用:/ 22 2月. 092009-02-22 13:57:01

  0

尝试从字符串创建“GmailComposedMessage”,然后尝试发送此对象。 22 2月. 092009-02-22 18:05:46

  0

我不明白如何:/ 22 2月. 092009-02-22 19:59:40