Я могу отправить электронное письмо, когда сообщение представляет собой строку, непосредственно введенную в функцию, но не в том случае, если это переменная.
Этот код работает:
import smtplib
server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
server.login("something@gmail.com", "somepassword")
server.sendmail(
"something@gmail.com",
"somethingelse@gmail.com",
"a manually typed string like this")
server.quit()
Но этот код с переменной строкой не:
import smtplib
server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
server.login("something@gmail.com", "somepassword")
someVariable = "any string"
server.sendmail(
"something@gmail.com",
"somethingelse@gmail.com",
someVariable)
server.quit()
Точнее, вторая версия отправляет электронное письмо, но с пустым телом. Никакие символы не отображаются.
Как заставить работать вторую версию?
print(someVariable)
и print(type(someVariable))
дают правильные (ожидаемые) результаты.