Назад | Перейти на главную страницу

Получать электронные письма на сервере Amazon EC2

Я только начал работать с экземпляром EC2 и снял ограничение на отправку почты, что позволило мне отправлять электронные письма с моего экземпляра. Но из-за отсутствия опыта я понятия не имею, как включить получение писем, отправленных мне на этот сервер.

Экземпляр имеет эластичный IP-адрес, и у меня есть доменное имя с записью A, указывающей на этот IP-адрес. Кажется, я не могу найти лучшей документации о том, какие шаги необходимо предпринять, поэтому, если кто-то отправляет электронное письмо на info@mysite.com, он либо фактически получает его, либо просто пересылает его на мой личный адрес электронной почты.

Я знаю, что это связано с использованием постфикса, но не могу найти руководства по его правильной настройке после установки.

  • A запись, указывающая на ваш сервер.
  • MX запись, указывающая на ваш A запись.
  • Почтовый демон прослушивает порт 25 - я предпочитаю Postfix.
  • Правила брандмауэра, разрешающие порту 25 принимать соединения. На EC2 вам нужно установить это в своих группах безопасности.

У меня были похожие проблемы. У меня настроена запись MX и порты разблокированы в политиках безопасности, но сканирование портов по-прежнему показывает, что порт 25 заблокирован.

Я наткнулся этот ответ на форуме AWS. Похоже, вы должны запросить разблокировку вашего порта 25/445. http://mxtoolbox.com/ должен быть полезен для тестирования вашего сервера.

Вам понадобится установленный демон SMTP, такой как postfix, и, таким образом, порты открываются из группы безопасности AWS для начала.

Затем вы можете следовать руководству по настройке - ознакомьтесь с руководством по базовой настройке postfix.

Короче говоря, вам нужно быть на 100% уверенным, что вы не работаете как открытый клиент. Вот очень простой main.cf для простой доставки по имени пользователя, который я использую:

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no

myhostname = mail.domain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

mydestination = hostname.domain.com, localhost.mydomain.com, localhost
relayhost =
mynetworks = 127.0.0.0/8
#mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all


smtpd_helo_restrictions =
    permit_mynetworks,
    #reject_non_fqdn_hostname,
    reject_invalid_hostname,
    permit

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

Используйте службу SES от Amazon, чтобы обойти это - но также обратите внимание, что в этой системе есть известные ошибки ... такие как тип mime по умолчанию mac osx для блокируемых изображений jpeg.

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