Здравствуйте, уважаемые.
Застрял на моменте отправки почты для регистрации пользователя.
Имею выделенный виртуальный сервер.
/etc/hostname=myvps.myhoster.ru
Exim4.
Письма с веб-интерфейса уходят и все хорошо. Но как только я отправляю письма через Django/registration, ничего никуда не приходит (кроме внутренних почтовых доменов).
Exim в логах пишет
...<"info@mysite.ru"@myvps.myhoster.ru>... Domain of sender address info@mysite.ru@myvps.myhoster.ru does not exist
...<"info@mysite.ru"@myvps.myhoster.ru>: Unrouteable address
Как мне правильно решить эту проблему? Очень уже хочется. Никак не получается продолжить экспериментировать с Django.
Спасибо всем
для начала:
$ sudo dpkg-reconfigure exim4-config
и в диалоге про «System mail name» укажите mysite.ru
а дальше опять смотрите в логи.
Круто
Прошел цепь окошек настроечных, там, где было myvps.myhoster.ru поставил mysite.ru (было в названии где-то кажется).
И после этого решил проверить работоспособность почты через веб-интерфейс. Все работает, отправляется, приходит. Вот запись успешной отправки почты:
2011-05-28 08:51:28 1QQBUm-0005Ft-HH <= info@mysite.ru H=(www.mysite.ru) [127.0.0.1] P=esmtp S=769 id=61bd0972e0feacf79284b6036fb6136b.squirrel@www.mysite.ru from <info@mysite.ru> for example@mail.ru
2011-05-28 08:51:28 1QQBUm-0005Ft-HH => example@mail.ru R=dnslookup T=remote_smtp H=mxs.mail.ru [94.100.176.20] C="250 OK id=1QQBUm-0003m3-00"
И после этого пробую отправить скриптом регистрации:
2011-05-28 08:52:44 1QQBW0-0005GJ-CA <= "info@mysite.ru"@myvps.myhoster.ru H=(myvps.myhoster.ru) [127.0.0.1] P=esmtpa A=cram:info@mysite.ru S=1187 id=20110528045244.20222.7764@myvps.myhoster.ru from <info@mysite.ru> for example@mail.ru
2011-05-28 08:52:44 1QQBW0-0005GJ-CA == example@mail.ru R=dnslookup T=remote_smtp defer (-45): SMTP error from remote mail server after MAIL FROM:<"info@mysite.ru"@myvps.myhoster.ru> SIZE=2235: host mxs.mail.ru [94.100.176.20]: 421 DNS problem. Try again later
Насколько я понял H=(myvps.myhoster.ru) это имя хоста где-то в настройках. И еще cram добавился
Буду копать/искать.
info@mysite.ru — наверно, этот адрес прописан где-то в настройках того, что вы называете «скриптом регистрации».
попробуйте эту настройку изменить на просто "info".
а в конфигурации exim в диалоге про «hide local mail name in outgoing mail?» выберите "yes".
В настройках скрипта я сделал info, но получил authentication error Про конфигурацию- я 2 раза прогонял весь процесс настройки и не обнаружил упоминания об этом пункте. Что примечательно, python shell отправляет письма. Значит проблема зарыта в скрипте. Спасибо, что попытались помочь. Буду разбираться дальше
Значит вот что я узнал:
1) Django registration работает от имени пользователя someuser, который находится в группе somegroup. И возможно, что некоторые функции exim-a недоступны для "левых" групп или пользователей. Чтобы это проверить я сделал exim-у в конфиге
Перезапустил, но письма все равно не уходят.
2) Потом нашел упоминание о submission/sender_retain
В настройках exim-a надо прописать (добавить /sender_retain).
accept hosts = +relay_from_hosts
control = submission/sender_retain