Выполнение команды shell mail с использованием python

Я использовал следующий код для отправки электронного письма, как предложено в одном из постов на аналогичную тему. Но почта не была отправлена. Какие-либо предложения?

import subprocess
recipient = 'xxxxx@gmail.com'
subject = 'test'
body = 'testing mail through python'
def send_message(recipient, subject, body):
    process = subprocess.Popen(['mail', '-s', subject, recipient],
                               stdin=subprocess.PIPE)
    process.communicate(body)

print("sent the email")

1 ответ

Решение

Ваша функция не может быть вызвана, попробуйте этот код:

import subprocess

recipient = 'xxxxx@gmail.com'
subject = 'test'
body = 'testing mail through python'

def send_message(recipient, subject, body):
    try:
      process = subprocess.Popen(['mail', '-s', subject, recipient],
                               stdin=subprocess.PIPE)
    except Exception, error:
      print error
    process.communicate(body)

send_message(recipient, subject, body)

print("sent the email")

Май работает. Удачи.

Другие вопросы по тегам