Как отправить письмо на локальный почтовый сервер, используя запросы Python - PullRequest
0 голосов
/ 20 января 2019

Я настроил локальный почтовый сервер, как описано здесь:

https://gist.github.com/raelgc/6031274

Я использую следующий код Python, чтобы попытаться отправить электронное письмо:

import requests
requests.post('http://localhost.com')

Я получаю следующую ошибку:

requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost.com', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0c75631f10>: Failed to establish a new connection: [Errno 111] Connection refused',))

Я пытался отключить брандмауэр (sudo ufw disable), указать порты pop3 и IMAP и использовать разностные схемы, но я продолжаю получать эту ошибку.

Я подозреваю, что это возможно, потому что requests поддерживает только http.Если это так, то как мне добиться отправки электронной почты с requests.

1 Ответ

0 голосов
/ 21 января 2019

Postfix является почтовым сервером и использует TCP-порты 25, 465 и 587. Он использует SMTP для связи, и, насколько я знаю, API-интерфейс недоступен. Если вы хотите отправить электронное письмо, вам нужен smtplib, запросы не будут работать.

Пример Python smtplib с постфиксным сервером: http://masnun.com/2010/01/01/sending-mail-via-postfix-a-perfect-python-example.html

...