У меня странная проблема, когда усекаются последние 10-20 символов моего письма.
Код, который отправляет письмо, выглядит следующим образом:
#Get the runtime arguments.
subject = args[0]
content = str(args[1]).replace("\\n","<br/>") #Python automatically escapes the backslash in runtime arguments, so "\n" turns into "\\n".
#Create the email message.
msg = MIMEText(content, 'html')
msg['From']=sender
msg['To']=",".join(recipients)
msg['Subject']=subject
print "Sending email with subject \""+subject+"\" to: " + ",".join(recipients)
print "Content: \n" + content;
print "\n\n"
print "msg.as_string(): \n" + msg.as_string()
#Set the SMPTP server, and send the email.
s = smtplib.SMTP(server)
s.sendmail(sender,recipients,msg.as_string())
s.quit()
КакВы можете видеть в коде, я печатаю и содержимое и окончательное сообщение на экран, оба из которых печатаются правильно.Но когда получатель получает электронное письмо, оно усекается.Я не уверен на 100%, усекается ли оно на определенное количество символов или после определенного количества символов, но я подозреваю, что это позже.
Как ни странно, электронные письма отправляются просто отлично, если они отправляютсяв простом тексте, а не в формате HTML.Но, к сожалению, большинство получателей используют Outlook, который думает, что он знает лучше меня, где размещать новые строки в текстовых электронных письмах ...
Любое понимание будет оценено.
Редактировать:Я должен также упомянуть, что это не правильно сформированный HTML.По сути, я просто заменяю новые строки на
<br/>
Я не уверен, будет ли это иметь значение.Помимо тормозных тегов, нет ничего, что даже отдаленно напоминает HTML-тег, поэтому проблема не в том, что неожиданный тег портит форматирование.