Я пытаюсь отправлять / получать электронные письма в своем ящике AWS Ubuntu. Для этого я следую инструкциям, опубликованным Amazon. Вот. (Я пропустил раздел под названием «Настроить интеграцию с использованием безопасного туннеля»)
Однако я все еще не могу отправлять электронные письма. Когда я пытаюсь отправить электронное письмо на my.user@gmail.com
, это не удается:
local_user@ip-172-XXX-XXX-XXX:~$ netcat mydomain.com 25
220 mydomain.com ESMTP Postfix (Ubuntu)
ehlo mydomain.com
250-mydomain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from: root@mydomain.com
250 2.1.0 Ok
rcpt to: my.user@gmail.com
454 4.7.1 <my.user@gmail.com>: Relay access denied
Вот что показывает файл журнала:
$ sudo tail -F /var/log/mail.log
Oct 17 18:06:10 ip-172-XXX-XXX-XXX postfix/smtpd[22869]: warning: hostname ec2-54-XXX-XXX-XXX.us-west-2.compute.amazonaws.com does not resolve to address 54.XXX.XXX.XXX
Oct 17 18:06:10 ip-172-XXX-XXX-XXX postfix/smtpd[22869]: connect from unknown[54.XXX.XXX.XXX]
Oct 17 18:06:31 ip-172-XXX-XXX-XXX postfix/smtpd[22869]: NOQUEUE: reject: RCPT from unknown[54.XXX.XXX.XXX]: 454 4.7.1 <my.user@gmail.com>: Relay access denied; from=<root@mydomain.com> to=<my.user@gmail.com> proto=ESMTP helo=<mydomain.com>
Как я могу это исправить? В чем проблема? Обратите внимание, что мой EC2 находится в AWS US West (Oregon)
область. Но я настроил ретранслятор на email-smtp.us-east-1.amazonaws.com:25
в main.cf
файл. Это проблема? Я так не думаю.
Мой файл main.cf выложен Вот
У вас опечатка на вашем ретрансляционном хосте.
relayhost = email-smtp.us-east.amazonaws.com:25
должно быть
relayhost = email-smtp.us-east-1.amazonaws.com:25
Это ожидаемое поведение. Почтовые серверы принимают для неаутентифицированных входящих соединений только почту локальным пользователям. Для аутентифицированных пользователей это ограничение недействительно (см. permit_sasl_authenticated
в smtpd_relay_restrictions
) и, таким образом, этим пользователям разрешено ретранслировать почту (почтовый сервер доставляет их в Интернет).
Чтобы разрешить конкретный хост без аутентификации, добавьте его в mynetworks
параметр.
У вас, кстати, отсутствуют запятые между значениями smtpd_relay_restrictions
.