У кого-нибудь есть пример кода Python, который отправляет почту с использованием sendmail и подпроцесса? - PullRequest
0 голосов
/ 21 декабря 2009

Я немного озадачен тем, как работает subprocess.Popen. Если у кого-нибудь есть пример кода, который отправляет электронную почту с использованием модуля подпроцесса и sendmail, это было бы здорово.

Ответы [ 2 ]

2 голосов
/ 22 декабря 2009

Это не дает прямого ответа на вопрос, но, учитывая ваш ответ на комментарий "DNS", это может решить вашу проблему.

При отправке SMTP-почты вы должны понимать, что адреса "from" и "to", которые вы передаете подпрограмме smtplib.sendmail () в качестве аргументов, не - это то же самое, что вы видите в заголовках From: и To: в сообщении при его получении. Эти аргументы становятся параметрами, передаваемыми получателю SMTP-почты с помощью команд «MAIL FROM» и «RCPT TO». Обычно это называется «конвертом» письма, а значения обычно отображаются в строках заголовка Received:

Чтобы указать нужные заголовки, вы должны указать их самостоятельно перед текстом сообщения. Пример smtplib показывает, как это делается, в этом случае с кортежом «msg», который они добавляют к телу сообщения.

0 голосов
/ 21 декабря 2009

Одной из первых ошибок, с которыми я столкнулся subprocess, было то, что по умолчанию она не принимает полные строковые команды.

Если вы хотите сделать эквивалент команды оболочки, такой как:

os.system("echo hello world")

вам нужно использовать опцию shell=True:

subprocess.Popen("echo hello world", shell=True)
...