Próbuję napisać skrypt Pythona, aby wysłać wiadomość e-mail, która korzysta z formatowania html i zawiera wiele nie łamania spacji. Jednak, kiedy go uruchomić, niektóre & nbsp ciągi są przerywane przez przestrzenie, które pojawia się co 171 znaków, jak widać na tym przykładzie:Python mail wstawia przestrzeń co 171 znaków
#!/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()
Przykład powinien produkować pusty e-mail, który składa się tylko z przestrzeni , ale kończy się wyglądać mniej więcej tak:
  ;
&nb sp;
& nbsp;
&nbs p;
&n bsp;
Edit: W przypadku, ważne jest, używam Ubuntu 15.04 z Postfix dla klienta sMTP, a przy użyciu python2.6.
To był problem, więc łatwo jest dodać \ n po każdym
, aby ten problem zniknął. –
Ale \ n pojawia się w wiadomości e-mail (co najmniej tak jak w Outlooku). Jak wstawić podział wiersza, aby odbiorca nie zobaczył go jako \ n? – user3450049