Заставить Sendmail принимать почту из внешних источников
Когда вы настраиваете серверы, последнее, что вам нужно сделать, — это бездельничать, чтобы Sendmail принимал электронную почту извне вашей локальной сети. Если вы новичок в Linux, это может стать настоящим кошмаром. Хорошая новость заключается в том, что после настройки он будет работать, пока вы его не отключите. Но доведение Sendmail до того состояния, в котором он работает правильно, может стать настоящим кошмаром.
В этой статье я расскажу вам, как настроить Sendmail для приема электронной почты из-за пределов локального хоста и вашей локальной сети. Для этого вам потребуется вручную отредактировать некоторые файлы конфигурации, и для этого вам понадобится root-доступ (или доступ sudo).
Чтобы это сработало, я предполагаю, что у вас есть собственное доменное имя. В этой статье мы проиллюстрируем это на примере домена www.sampledomain.com. Я также предполагаю, что это полное доменное имя работает правильно, и у вас уже установлен и запускается Sendmail. В этом примере я использую операционную систему Ubuntu Server 8.10. Имея это в виду, давайте перейдем к следующему.
/ etc / mail
Все настройки, которые вы будете делать, будут в пределах / etc / mail каталог. В этом каталоге вы будете изменять следующее:
- sendmail.cf
- sendmail.mc
- доступ
- имена локальных хостов
После внесения всех изменений вы перезапустите Sendmail.
sendmail.mc
По умолчанию Sendmail настроен на прием почты только с локального хоста. Это первое изменение, которое необходимо внести. Это изменение внесено в файл sendmail.mc. Вы ищете следующую строку:
DAEMON_OPTIONS (`Family = inet, Name = MTA-v4, Addr = 127.0.0.1, Port = smtp ‘) dnl
Строку нужно изменить, чтобы она выглядела так:
DAEMON_OPTIONS (`Family = inet, Name = MTA-v4, Port = smtp ‘) dnl
В Адрес = 127.0.0.1 секция указывает Sendmail принимать электронную почту только от localhost.
Теперь вам нужно добавить эти изменения в sendmail.cf файл, введя команду:
sudo make -C / etc / mail
Это добавит ваши изменения. Причина, по которой я использую sendmail.mc для этих опций настройка DAEMON_OPTIONS немного запутанна, и ее трудно найти. Остальные параметры довольно легко добавить прямо в sendmail.cf.
sendmail.cf
Параметры, которые вы хотите добавить в этот файл, предназначены для настройки вашего доменного имени. Первый вариант находится под заголовком «мое официальное доменное имя». В этом примере вы увидите:
# Dj $ w.Foo.Com
замените это на (и помните, что мы используем наш образец домена):
Djsampledomain.com
Следующий вариант будет установлен на маскировку. В некоторых последних выпусках Sendmail этого нет в ср по умолчанию. Взгляните на раздел цитирования, который выглядит так:
# dequating map
Kdequote dequote
# класс E: имена, которые должны отображаться как от этого хоста, даже если мы замаскируем
# класс L: имена, которые должны быть доставлены локально, даже если у нас есть реле
# класс M: домены, которые нужно преобразовать в $ M
# класс N: домены, которые нельзя конвертировать в $ M
#CL корень
Внизу добавьте:
# под кого я маскируюсь (null, чтобы не маскироваться) (см. также $ = M)
DMsampledomain.com
Теперь вы закончили sendmail.cf файл.
доступ
Этот файл определяет контроль доступа к вашему почтовому серверу. Для нашего примера мы добавим в конец этого файла следующее:
sampledomain.com
www.sampledomain.com
mail.sampledomain.com
Сохраните этот файл, и у вас будет еще одна конфигурация, о которой нужно позаботиться.
имена локальных хостов
Этот файл будет определять имена хостов, связанных с вашим сервером Sendmail. В этот файл мы добавим:
sampledomain.com
mail.sampledomain.com
Перезапустить Sendmail
Пришло время перезапустить Sendmail. Сделайте это с помощью команды:
/etc/init.d/sendmail reload
После перезапуска sendmail вы должны принимать электронную почту от внешнего мира. Запустите тест с адресом электронной почты за пределами вашего домена.
Вывод
Sendmail на самом деле не так сложен, как кажется. С помощью этого простого пошагового руководства вы должны сделать так, чтобы Sendmail быстро и легко принимал почту отовсюду.