Я пытаюсь написать скрипт python для отправки электронной почты, которая использует форматирование html, и включает в себя много неразрывных пробелов. Однако, когда я запускаю его, некоторые из & NBSP строк прерывается пробелами, которые происходят каждые 171 символов, как можно видеть на этом примере:Python mail вставляет пробел каждые 171 символ
#!/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()
Пример должен произвести пустое сообщение, состоящие только из пространств , но он заканчивает тем, что-то вроде этого:
  ;
&nb sp;
& nbsp;
&nbs p;
&n bsp;
Edit: В случае, если это важно, я бегу Ubuntu 15.04 с Postfix для клиента SMTP, и используя python2.6.
В этом была проблема, поэтому тривиально просто добавить \ n после каждого
, чтобы эта проблема исчезла. –
Но \ n отображается в электронном письме (по крайней мере, как показано в Outlook). Как вы можете вставить разрыв строки, не видя получателя как \ n? – user3450049