Использование smtplib в функции не будет читать To :, From: и строку темы - PullRequest
0 голосов
/ 31 января 2020

Когда я запускаю свой код за пределами функции, все отображается правильно, но когда я добавляю его в функцию, в сообщении не появляются темы, строки из строки

def change_other():
message = """\

Subject: {Employee} -- Change -- Title Change
From: test@test.com
To: test@test.com


We have received a title update for {Employee}. 

    Title: {Title}

    Old: {Old}

    New: {New}

    Profit Center: {PC}

    Supervisor: {Supervisor}


"""

from_address = "test@test.com"
password = "abc123"

smtp = smtplib.SMTP("smtp.office365.com",587)
context = ssl.create_default_context()
with smtplib.SMTP("smtp.office365.com",587) as server:
    server.starttls(context=context)
    server.login(from_address, password)

    for i, r in db[field2].iterrows():     
            server.sendmail(
                from_address,
                "test@test.com",
                message.format(Employee=r["Employee Name"],
                   Old=r["Old Value"],
                               New=r["New Value"],
                               PC=r["PC"],
                               Title=r["Title"],
                               Email=r["Email"], 
                               Supervisor=r["Supervisor Name"]


                )
            )

Точка это для отправки разных электронных писем, основанных на определенных входных данных в CSV-файле.

Я получаю электронные письма, но им просто не хватает темы, в и из письма. Тело обнаруживается просто отлично.

1 Ответ

0 голосов
/ 31 января 2020

Итак, я выяснил это путем тестирования. В моем действительном коде я добавил TO, FROM и SUBJECT. Как только я удалил их и выровнял их с началом функции, все заработало.

...