Вывести содержимое переменных в тело письма python 3.7 - PullRequest
0 голосов
/ 29 августа 2018

пытается отправить письмо через питон. Может заставить его отправлять электронную почту с правильным текстовым содержимым в теле, но печатает фактическое имя переменной «Новые компании» вместо ее содержимого. Вот код и полученное письмо.

(не знаю, почему теги html не отображаются в моем коде ниже, но я использовал теги html и body до и после содержимого электронной почты)

Любая помощь приветствуется.

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

EMAIL_SERVER = 'blahblah'
EMAIL_PORT = 25

f = open('diff.txt', 'r')
NEW_COMPANIES  = f.read()


EMAIL_FROM = 'blabal'
RECIPIENT_LIST = ['blahblah']

msg = MIMEMultipart()
msg['From'] = EMAIL_FROM
msg['To'] = ", ".join(RECIPIENT_LIST)
msg['Subject'] = 'North Carolina New Business Registration'


body = '''<html>
<body>

New Business Names:<br><br>
body.format('NEW_COMPANIES')
<br><br>
Affiliate: r2thek
<br><br>
Website Link: 
https://www.sosnc.gov/online_services/search/by_title/_Business_Registration
</body>
</html>'''

body.format('NEW_COMPANIES')

msg.attach(MIMEText(body, 'html'))


smtpserver = smtplib.SMTP(EMAIL_SERVER, EMAIL_PORT)
smtpserver.sendmail(EMAIL_FROM, RECIPIENT_LIST, msg.as_string())
smtpserver.quit()

Результат по электронной почте:

Новые названия компаний:

{NEW_COMPANIES}

Партнер: r2thek

Ссылка на сайт: https://www.sosnc.gov/online_services/search/by_title/_Business_Registration

1 Ответ

0 голосов
/ 29 августа 2018

Не похоже, что вы передали переменные для форматирования строки, вам нужно сделать

body.format(variable1, variable2, etc)

В вашем случае я думаю, что это всего лишь одна переменная, поэтому, где бы вы ни хранили, значение NEW_COMPANIES должно использоваться в качестве аргумента для str.format ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...