У меня exim4 установлен на Linux. Основы работают нормально, и я могу без проблем отправлять электронную почту с этого компьютера на любой адрес электронной почты.
У меня также есть принтер / сканер, который может отправлять отсканированные изображения по электронной почте. Для этого ему нужен шлюз SMTP. Итак, я даю IP-адрес этого Linux-компьютера, немного изменил конфигурацию, но все еще не могу заставить его работать.
После того, как я бегу dpkg-reconfigure exim4-config
, вот что я получаю /etc/exim4/update-exim4.conf.conf
:
dc_eximconfig_configtype='internet'
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1;192.168.2.2'
dc_readhost=''
dc_relay_domains='mycompanyemail.com'
dc_minimaldns='false'
dc_relay_nets='192.168.2.0/24'
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'
Моя проблема в том, что с этой конфигурацией я могу отправлять только электронные письма @ mycompanyemail.com ... В нем говорится, что я могу использовать подстановочный знак, но когда я это сделаю, '*' заменяется любым именем файла в каталоге, в котором я запускаю все это.
Как я могу настроить его для отправки писем с любого домена? Или я не так делаю?
EDIT: вот часть журнала, вызывающая проблемы:
2011-08-03 16:28:18 H=(NPI2D389C) [192.168.2.20] F=<scanner@company.cal> rejected RCPT <m......j.....@gmail.com>: relay not permitted
Первая часть (scanner@company.cal) значения не имеет. Я поменял адрес электронной почты. Дело в том, что если это адрес электронной почты @ mycompanyemail.com, тогда все работает нормально. Больше ничего не работает. Я мог бы добавить gmail.com, но я хочу, чтобы любой домен работал ...
Вы используете "dc_relay_domains = 'mycompanyemail.com'", и именно по этой причине вы можете отправлять письма только на почтовые адреса вашей компании. Этот параметр необходимо настраивать только в том случае, если вам нужно ограничить доставку электронной почты, и вам нужно оставить его пустым, чтобы исправить вашу проблему.
Фактически, dc_relay_nets - это параметр, который ограничивает IP-адреса реле.
Ура
Устанавливать dc_relay_domains=''
вместо того, чтобы устанавливать его на *
. Верить в dc_relay_nets
ограничить использование сервера локальными серверами.
У меня тоже было это. Мне потребовалось время, чтобы понять, однако решение, которое я нашел, было простым.
У вас есть смарт-хост, который вы хотите использовать для отправки электронных писем с вашего локального хоста, на котором также работает Exim4. По этой причине вы, кажется, выбрали правильный dpkg-configure exim4-reconfigure параметры. Поскольку ваш exim4.conf.conf показывает запись в dc_relay_domains. Все идет нормально.
Но если этот смарт-хост является хорошо настроенным почтовым сервером, он все равно будет принимать электронные письма только для своего собственного домена и возвращать 550 реле недопустимая ошибка. Кажется, именно так, как вы описываете. Это связано с тем, что смарт-хост принимает только электронные письма для своего собственного домена при попытках доставки неопознанной доставки SMTP. В противном случае это была бы точка входа для спама, являющаяся так называемым открытым ретранслятором. Открытые реле никуда не годятся.
Используя смарт-хост, ваш локальный Exim4 должен войти на смарт-хост, используя существующую учетную запись пользователя и учетные данные. Таким образом, ваш локальный Exim4 идентифицирует себя для смарт-хоста как разрешенного пользователя, который затем получает неограниченный доступ, который включает доставку и ретрансляцию электронной почты для чужих доменов.
Для этого вам понадобится учетная запись пользователя на smarthost и отредактируйте файл конфигурации /etc/exim4/passwd.client, добавив следующую строку
mycompanyemail.com:[user provided:[password])
Это должно сработать. Просто убедитесь, что URL-адрес smarthost идентичен или соответствует записи dc_relay_domains в exim4.conf.conf. (Допускаются строки с подстановочными знаками) Не забудьте выполнить команду chmod 640 для passwd.client, поскольку он содержит учетные данные пользователя в виде открытого текста.