2017-02-27 61 views
0

我有一些使用SL4A的Android手机上运行的Python代码。这是一个在过去三年中运行良好的生产系统。它还定期发送电子邮件,我从来没有遇到过这个问题。当用Python发送时,Gmail在网页视图中截断(不修剪)邮件

代码的执行部分如下:

 
def send_email(emailaddr, message, attachmentfile = None, subject = None, cc = None): 
    try: 
     smtpconn = smtplib.SMTP(mainconf["SMTPHOST"], mainconf["SMTPPORT"], timeout = 20) 
     smtpconn.set_debuglevel(1) 
     smtpconn.ehlo() 
     smtpconn.starttls() 
     smtpconn.login(mainconf["SMTPUSER"], mainconf["SMTPPASS"]) 
     if not attachmentfile: 
      m = MIMEText(message, 'plain', 'UTF-8') 
      m['Subject'] = subject if subject else "" 
      m['From'] = mainconf["EMAILFROM"] 
      m['To'] = emailaddr 
      if cc: 
       m['cc'] = cc 
      smtpconn.sendmail(mainconf["EMAILFROM"], emailaddr, m.as_string()) 

无论从我的Linux机器,并在运行的生产代码的Android手机,以此为据向完美消息作为我的IMAP客户端(拉来自Gmail的邮件)担心。

但是在网络客户端中,Gmail会将发送的邮件任意截断为大约929个字符,并且只是停在句子中间。前几次并没有这样做,但现在已经开始这样做了。

followed the suggestions given here关于改变主题行,并在电子邮件的末尾插入改变的短语。这没有帮助。此外,在我的情况下,Gmail不仅仅是用可扩展的小'...'修剪邮件 - 在Web视图中,邮件被截断为“...”,并且无法读取其余的。

不幸的是,这封邮件的主要收件人只使用网络客户端。

在这种情况下我有什么选择?邮件组装方式有什么问题吗?

回答

0

这似乎是Python 2.6的email.text模块或Gmail中的某种错误。我使用这个wonderful Github repository将手机中的SL4A解释器升级到了Python 2.7,并且问题不再发生。但是,无法弄清楚究竟是什么原因。