Список вопросов
Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
906
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Отправка писем через exim4 на домен, равный hostname, если mx запись указывает на другой хост
Просмотров: 518
 
Ответов: 5
Есть сайт на VDS, на него указывает домен example.ru
$ hostname
example.ru
$ host example.ru
example.ru has address 92.243.84.xx
example.ru mail is handled by 10 mx1.example.ru.
$ host mx1.example.ru
mx1.example.ru has address 62.165.37.xx
Стоит почтовик exim4. При отправке писем с сайта (php mail()) на этот домен, письма не доходят.
$ php -r "var_dump(mail('user@example.ru', 'text mail', 'test'));"
bool(true)
$ sudo grep user@example.ru /var/log/exim4/mainlog
2010-09-16 13:23:42 1Ow8on-0005Sb-Cu ** user@example.ru: Unrouteable address
При конфигурировании exim4 кроме прочего пишет:
$ sudo dpkg-reconfigure exim4-config
Please enter a semicolon-separated list of recipient domains for which this machine
should consider itself the final destination. These domains are commonly called 'local
domains'. The local hostname (example.ru) and 'localhost' are always added to the list
given here.
В общем проблема как раз в этом, как сделать так, чтобы the local hostname больше не участвовал в спике локальных доменов для отправки почты?
Предыстория: До этого стоял обычный sendmail, была та же проблема. Нагуглил много примерно одинаковых решений. Вот одно из: forum.lissyara.su/viewtopic.php?f=20&t=21720 Пытался прогнуть sendmail, ничего не получилось, плюнул, поставил exim4, как и человек по ссылке, но проблему не решило.
$ hostname example.ru $ host example.ru example.ru has address 92.243.84.xx example.ru mail is handled by 10 mx1.example.ru. $ host mx1.example.ru mx1.example.ru has address 62.165.37.xx
$ php -r "var_dump(mail('user@example.ru', 'text mail', 'test'));"
bool(true)
$ sudo grep user@example.ru /var/log/exim4/mainlog
2010-09-16 13:23:42 1Ow8on-0005Sb-Cu ** user@example.ru: Unrouteable address
$ sudo dpkg-reconfigure exim4-config Please enter a semicolon-separated list of recipient domains for which this machine should consider itself the final destination. These domains are commonly called 'local domains'. The local hostname (example.ru) and 'localhost' are always added to the list given here.
Если в /etc/exim4/update-exim4.conf.conf параметр dc_eximconfig_configtype='smarthost' или dc_eximconfig_configtype='satellite'
То в файле /etc/exim4/exim4.conf.template есть такая настройка:
smarthost:
debug_print = "R: smarthost for $local_part@$domain"
driver = manualroute
domains = ! +local_domains
transport = remote_smtp_smarthost
route_list = * DCsmarthost byname
host_find_failed = ignore
same_domain_copy_routing = yes
no_more
Это значит, что принимать почту для example.com будет сам сервер. И не будет для домена отсылать на внешний. Например, если почта для домена на yandex'е. Чтобы вся исходила исправьте на
domains = local_domains : !local_domains
В файле /etc/exim4/exim4.conf.template я нашел следующую строку:
domainlist local_domains = MAIN_LOCAL_DOMAINS
Закомментировал и добавил:
domainlist local_domains = localhost
После этого в логах пишется:
2010-09-16 14:24:39 1Ow9ll-00065A-Ce ** user@example.ru R=dnslookup T=remote_smtp: SMTP error from remote mail server after MAIL FROM:<admin@example.ru> SIZE=1361: host mx1.example.ru [62.165.37.xx]: 550 <admin@example.ru>, Sender unknown
Что бы это значило? Как я понимаю, это уже почтовик на сервер mx1 отказывается принимать письмо на том основании, что письмо отправлено от пользователя с домена example.ru, а почтой с этого домена рулит он сам и думает, что его хотят обмануть? Или тут что-то другое?
Проставь вот такие штуки:
domainlist local_domains = localhost: example.com: example.org: example.xxx
Должно получиться что почта не посылается через SMTP транспорт, а кладется в почтовые ящики.
P.S. Если все совсем плохо готов за небольшую деньгу помочь с EXIM. Есть рекомендации и готовые prodaction почтовые сервера.
Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться