Ich habe ein seltsames Problem, bei dem die letzten 10-20 Zeichen meiner E-Mail abgeschnitten werden.E-Mails werden abgeschnitten, wenn HTML-Nachrichten mit smtplib.SMTP.sendmail gesendet werden
Der Code, der die E-Mail sendet, wird wie folgt dar:
#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()
Wie Sie im Code sehen können, drucke ich sowohl den Inhalt und die letzte Meldung auf dem Bildschirm, die beide richtig gedruckt. Wenn die E-Mail jedoch vom Empfänger empfangen wird, wird sie abgeschnitten. Ich bin nicht 100% sicher, ob es um eine bestimmte Anzahl von Zeichen oder um eine bestimmte Anzahl von Zeichen gekürzt wird, aber ich vermute, dass es das spätere ist.
Seltsamerweise werden die E-Mails gut gesendet, wenn sie im Klartext und nicht im HTML-Format gesendet werden. Aber leider verwenden die meisten Empfänger Outlook, das denkt, dass es besser als ich weiß, wo man neue Zeilen in reine Textemails setzt ...
Irgendein Einblick wird geschätzt.
Edit: Ich sollte auch erwähnen, dass dies nicht gut formatierte HTML ist. Grundsätzlich ersetze ich nur neue Zeilen mit
<br/>
Ich bin mir nicht sicher, ob das einen Unterschied machen wird. Abgesehen von den Brems-Tags gibt es nichts, was auch nur entfernt einem HTML-Tag ähnelt. Das Problem besteht also nicht darin, dass ein unerwartetes Tag die Formatierung durcheinanderbringt.
Danke. Jetzt ersetze ich "\\ n" durch "\ n
" und es funktioniert korrekt. – Morglor
Ich habe gerade \ n "newline" -Operator beim Verketten der langen Zeichenfolge hinzugefügt. Es wurde das Problem der E-Mail-Kürzung behoben. –