Ich versuche, ein Python-Skript zu schreiben, um eine E-Mail zu senden, die HTML-Formatierung verwendet und eine Menge von nicht brechenden Leerzeichen enthält. Allerdings, wenn ich es laufen, sind einige der & nbsp Strings durch Leerzeichen unterbrochen, der alle 171 Zeichen auftreten, wie dieses Beispiel zu sehen:Python mail fügt Leerzeichen alle 171 Zeichen ein
#!/usr/bin/env python
import smtplib
import socket
from email.mime.text import MIMEText
emails = ["[email protected]"]
sender = "[email protected]{0}".format(socket.gethostname())
message = "<html><head></head><body>"
for i in range(20):
message += " " * 50
message += "<br/>"
message += "</body>"
message = MIMEText(message, "html")
message["Subject"] = "Test"
message["From"] = sender
message["To"] = ", ".join(emails)
mailer = smtplib.SMTP("localhost")
mailer.sendmail(sender, emails, message.as_string())
mailer.quit()
Das Beispiel sollte eine leere E-Mail erzeugen, die nur aus Leerzeichen besteht , aber es endet etwas wie folgt aussehen:
  ;
&nb sp;
& nbsp;
&nbs p;
&n bsp;
Edit: Falls es wichtig ist, ich Ubuntu 15.04 mit Postfix für den sMTP-Client, und mit python2.6 läuft.
Das war das Problem, daher ist es einfach, nach jedem
ein \ n hinzuzufügen, damit dieses Problem verschwindet. –
Aber das \ n erscheint in der E-Mail (mindestens so wie in Outlook gerendert). Wie können Sie den Zeilenumbruch einfügen, ohne dass er vom Empfänger als \ n erkannt wird? – user3450049