Отправить письмо в Django без SMTP-сервера. Как и функция php mail () - PullRequest
8 голосов
/ 25 февраля 2010

Насколько я читал, Django поддерживает отправку писем только по SMTP.

Я хотел бы отправлять электронные письма из своего скрипта в Django, но не хочу настраивать SMTP-сервер (это слишком сложно для меня, я новичок в Linux).

Возможно ли отправлять почту в Django таким же образом, как я делаю это в PHP, без указания имени пользователя, пароля и т. Д. SMTP?

Ответы [ 5 ]

6 голосов
/ 25 февраля 2010

PHP использует sendmail в системе UNIX для отправки электронных писем. Я думаю, в какой-то момент, когда вы настраиваете систему, это означает, что sendmail настроен.

Существует API для sendmail для Python, возможно, он вам поможет. Но в любом случае есть SMTP-сервер;)

3 голосов
/ 26 февраля 2010

Postfix и Exim были созданы для решения всех проблем, связанных с пересылкой электронной почты с вашего хоста в остальной мир. Ваше приложение говорит им SMTP, а они оборачиваются и говорят по SMTP с адресатом. Но они очень, очень хороши в этом .

ничто не мешает вам выполнить DNS-поиск записей MX адреса электронной почты, на который вы отправляете сообщение, и напрямую подключиться к этому серверу и передать SMTP на него. Ничего, кроме этого ворчливого голоса, который должен спросить вас: «Это действительно проще, чем apt-get install exim4?»

2 голосов
/ 25 февраля 2010

Ваш хостинг-провайдер мог настроить хост и любые возможные учетные данные для входа на все страницы PHP на своих компьютерах. Это может показаться, что ничего не требуется. Ваш хостинг-провайдер должен быть более чем счастлив предоставить вам информацию. Попробуйте поискать SMTP в их FAQ, форуме и любых приветственных письмах, которые они отправили. Если ваш поиск ничего не дал, спросите их напрямую.

Получив информацию, вы захотите добавить ее в свой файл settings.py, используя эти настройки электронной почты :

# *** settings.py ***
#EMAIL_HOST = 'host here'
#EMAIL_PORT = 587
#EMAIL_HOST_USER = 'your user here'
#EMAIL_HOST_PASSWORD = 'your password'
#EMAIL_USE_TLS = True

Раскомментируйте и используйте столько настроек, сколько вам нужно.

2 голосов
/ 25 февраля 2010

Так как же это делает PHP? По волшебству?

Если у вас нет SMTP-сервера, зарегистрируйте учетную запись GMail и используйте ее.

0 голосов
/ 27 ноября 2010

Полагаю, поскольку вы используете Django, вы в целом хорошо с Python. Появляется новый Python MTA, который выглядит очень многообещающе http://lamsonproject.org/docs/hooking_into_django.html

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