Поиск по сайту:

Как установить и настроить Postfix в качестве SMTP-сервера только для отправки в Ubuntu 14.04


Введение

Postfix — это MTA (агент передачи почты), приложение, используемое для отправки и получения электронной почты. В этом руководстве мы установим и настроим Postfix, чтобы его можно было использовать для отправки электронной почты только локальными приложениями, то есть теми, которые установлены на том же сервере, на котором установлен Postfix.

Почему вы хотите это сделать?

Если вы уже используете стороннего провайдера электронной почты для отправки и получения электронных писем, вам, конечно, не нужно запускать собственный почтовый сервер. Однако, если вы управляете облачным сервером, на котором установлены приложения, которым необходимо отправлять уведомления по электронной почте, запуск локального SMTP-сервера только для отправки является хорошей альтернативой использованию стороннего поставщика услуг электронной почты или запуску полноценного SMTP-сервера. .

Примером приложения, которое отправляет уведомления по электронной почте, является OSSEC, которое будет отправлять предупреждения по электронной почте на любой настроенный адрес электронной почты (см. Как установить и настроить уведомления безопасности OSSEC в Ubuntu 14.04). Хотя OSSEC или любое другое приложение такого рода может использовать SMTP-сервер стороннего провайдера электронной почты для отправки предупреждений по электронной почте, оно также может использовать локальный (только для отправки) SMTP-сервер.

Это то, что вы узнаете, как сделать в этом руководстве: как установить и настроить Postfix в качестве SMTP-сервера только для отправки.

Примечание. Если ваш вариант использования заключается в получении уведомлений с вашего сервера на один адрес, пометка писем как спам не является серьезной проблемой, поскольку вы можете внести их в белый список.

Если ваш вариант использования заключается в отправке электронных писем потенциальным пользователям сайта, таких как электронные письма с подтверждением для регистрации на доске объявлений, вам обязательно следует выполнить шаг 5, чтобы электронные письма вашего сервера с большей вероятностью считались законными. Если у вас по-прежнему возникают проблемы с тем, что электронные письма вашего сервера помечаются как спам, вам необходимо самостоятельно устранить неполадки.

Примечание. С 22 июня 2022 г. DigitalOcean блокирует SMTP для всех новых учетных записей. В рамках этой новой политики мы сотрудничаем с SendGrid, чтобы наши клиенты могли легко отправлять электронные письма. Вы можете узнать больше об этом партнерстве и начать использовать SendGrid, ознакомившись с нашим приложением SendGrid Marketplace от DigitalOcean.

Предпосылки

Пожалуйста, выполните следующие предварительные условия.

  • Дроплет Ubuntu 14.04
  • Выполните первоначальную настройку. Это означает, что у вас должна быть стандартная учетная запись пользователя с правами sudo
  • Имейте действительное доменное имя, например example.com, указывающее на вашу каплю
  • Имя хоста вашего сервера должно соответствовать этому домену или субдомену. Вы можете проверить имя хоста сервера, введя hostname в командной строке. Вывод должен соответствовать имени, которое вы дали дроплету при его создании, например example.com

Если все предварительные условия выполнены, теперь вы готовы к первому шагу этого руководства.

Шаг 1 — Установите Постфикс

На этом шаге вы узнаете, как установить Postfix. Самый эффективный способ установить Postfix и другие программы, необходимые для тестирования электронной почты, — это установить пакет mailutils, набрав:

sudo apt-get install mailutils

Установка mailtuils также приведет к установке Postfix, а также нескольких других программ, необходимых для работы Postfix. После ввода этой команды вам будет представлен вывод, который выглядит примерно так:

The following NEW packages will be installed:
guile-2.0-libs libgsasl7 libkyotocabinet16 libltdl7 liblzo2-2 libmailutils4 libmysqlclient18 libntlm0 libunistring0 mailutils mailutils-common mysql-common postfix ssl-cert

0 upgraded, 14 newly installed, 0 to remove and 3 not upgraded.
Need to get 5,481 kB of archives.
After this operation, 26.9 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Нажмите ENTER, чтобы установить их. Ближе к концу процесса установки вам будет представлено окно, точно такое же, как на изображении ниже. Параметр по умолчанию — Интернет-сайт. Это рекомендуемый вариант для этого руководства, поэтому нажмите TAB, затем ENTER.

После этого вы получите еще одно окно, как на следующем изображении. Имя системной почты должно совпадать с именем, которое вы присвоили дроплету при его создании. Если он показывает поддомен, например example.com. Когда вы закончите, нажмите TAB, затем ENTER.

После успешного завершения установки перейдите к шагу 2.

Шаг 2 — Настройте Postfix

На этом шаге вы узнаете, как настроить Postfix для обработки запросов на отправку электронных писем только с сервера, на котором он работает, то есть с локального хоста. Для этого необходимо настроить Postfix для прослушивания только на интерфейсе обратной связи, виртуальном сетевом интерфейсе, который сервер использует для внутренней связи. Чтобы внести изменения, откройте основной файл конфигурации Postfix с помощью редактора nano.

sudo nano /etc/postfix/main.cf

Открыв файл, прокрутите вниз, пока не увидите записи, показанные в этом блоке кода.

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

Измените строку с текстом inet_interfaces=all на inet_interfaces=loopback-only. Когда вы закончите, тот же раздел файла теперь должен выглядеть так:

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only

Вместо loopback-only вы также можете использовать localhost, чтобы измененный раздел также мог читаться:

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = localhost

Когда вы закончите редактирование файла, сохраните и закройте его (нажмите CTRL+X, затем нажмите Y, затем ENTER). После этого перезапустите Postfix, набрав:

sudo service postfix restart

Шаг 3. Проверьте, может ли SMTP-сервер отправлять электронные письма

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

Чтобы отправить тестовое письмо, введите:

echo "This is the body of the email" | mail -s "This is the subject line" user@example.com

При выполнении собственных тестов вы можете использовать основной текст и текст строки темы как есть или изменить их по своему вкусу. Однако вместо useryahoo.com или любого другого поставщика услуг электронной почты, которым вы пользуетесь.

Теперь проверьте адрес электронной почты, на который вы отправили тестовое сообщение.

Вы должны увидеть сообщение в своем почтовом ящике. Если нет, проверьте папку со спамом.

Примечание. В этой конфигурации адрес в поле «От» для отправляемых вами тестовых электронных писем будет sammy@example.com, где sammy — ваше имя пользователя Linux, а доменная часть — имя хоста сервера. Если вы измените свое имя пользователя, адрес отправителя также изменится.

Шаг 4 — Пересылка системной почты

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

Чтобы настроить Postfix таким образом, чтобы сгенерированные системой электронные письма отправлялись на ваш адрес электронной почты, вам необходимо отредактировать файл /etc/aliases.

sudo nano /etc/aliases

Полное содержимое файла при установке Ubuntu 14.04 по умолчанию показано в этом блоке кода:

# See man 5 aliases for format
postmaster:    root

С этой настройкой электронные письма, созданные системой, отправляются пользователю root. Что вы хотите сделать, так это отредактировать его так, чтобы эти электронные письма перенаправлялись на ваш адрес электронной почты. Для этого отредактируйте файл так, чтобы он читался так:

# See man 5 aliases for format
postmaster:    root
root:          sammy@example.com

Замените sammy@example.com своим личным адресом электронной почты. Когда закончите, сохраните и закройте файл. Чтобы изменение вступило в силу, выполните следующую команду:

sudo newaliases

Теперь вы можете проверить, работает ли он, отправив электронное письмо на учетную запись root, используя:

echo "This is the body of the email" | mail -s "This is the subject line" root

Вы должны получить письмо на свой адрес электронной почты. Если нет, проверьте папку со спамом.

(Необязательно) Шаг 5 — Защитите свой домен от спамеров

На этом этапе вам будут предоставлены ссылки на статьи, которые помогут защитить ваш домен от использования для рассылки спама. Это необязательный, но настоятельно рекомендуемый шаг, потому что при правильной настройке это затрудняет отправку спама с адресом, который, по-видимому, исходит из вашего домена.

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

  • Как использовать запись SPF для предотвращения спуфинга и повышения надежности электронной почты
  • Как установить и настроить DKIM с Postfix в Debian Wheezy
  • Кроме того, убедитесь, что запись PTR для вашего сервера соответствует имени хоста, используемому почтовым сервером при отправке сообщений. В DigitalOcean вы можете изменить свою запись PTR, изменив имя своего дроплета на панели управления.

Хотя вторая статья была написана для Debian Wheezy, те же шаги применимы и для Ubuntu 14.04.