Невозможно отправлять электронные письма с помощью Amazon AWS, SES и PostFix

Я пытаюсь отправлять электронные письма с моим подтвержденным адресом ([email protected]), используя экземпляр Ubuntu AWS с postFix и Amazon SES, но он не работает с postfix.

1) Я загрузил "Amazon Simple Email Service Scripts" с этого сайта

Я следовал руководству и могу отправлять электронные письма, используя следующую строку:

./ses-send-email.pl --verbose -k aws-credentials -s "Тест из SES" -f [email protected] [email protected]

так что все работает хорошо.

2) Я установил postfix и добавил следующую строку в /etc/postfix/master.cf, чтобы интегрировать точку 1

aws-email unix - nn - - pipe flags = R user = usertest argv = / opt / amazon-mail / ses-send-email.pl -r -k / opt / amazon-mail / aws-credentials -e https://email.us-east-1.amazonaws.com -f [email protected] $ {получатель}

а затем я добавил в /etc/postfix/main.cf

default_transport = aws-электронная почта

но когда я пытаюсь отправить электронное письмо, используя:

echo test | mail -s "test email sent" [email protected]

Я не получаю письмо, потому что postfix автоматически заменяет адрес отправителя с [email protected] на [email protected], а [email protected] не является подтвержденным адресом электронной почты.

Также я пытался установить псевдоним в / etc / aliases, но postfix не заменяет root на usertest.

Я хочу отправить только несколько писем с моим адресом электронной почты gmail на моем PHP-сайте, выделенном в микроэкземпляре AWS. Я впервые в Amazon Cloud World, думаю, я здесь что-то делаю не так.

Не могли бы вы помочь мне?

Заранее спасибо.


person devops85    schedule 10.05.2014    source источник


Ответы (2)


Я не получаю письмо, потому что postfix автоматически заменяет адрес отправителя с [email protected] на [email protected], а [email protected] не является подтвержденным адресом электронной почты.

Это потому, что вы отправляете из системной учетной записи Unix (вошли в систему как root).

Также я пытался установить псевдоним в / etc / aliases, но postfix не заменяет root на usertest.

Это правильно. Вам понадобится агент доставки почты, такой как Dovecot, с виртуальными пользователями для Dovecot, чтобы аутентифицировать их в Postfix, или вам нужно будет создать учетную запись пользователя Unix с этим именем и su для этого пользователя.

person NightKnight on Cloudinsidr.com    schedule 10.05.2014
comment
NightKnight, спасибо за ответ. Но когда я отправлю электронное письмо через свой общедоступный php-сайт, какой пользователь будет использоваться для отправки электронного письма? пользователь root тоже ?. - person devops85; 10.05.2014
comment
Пользователь, запускающий службу php (владелец процесса). Вы можете узнать это с помощью $ processUser = posix_getpwuid (posix_geteuid ()); print_r ($ processUser); [Пожалуйста, проголосуйте, если я вам помог] - person NightKnight on Cloudinsidr.com; 10.05.2014
comment
Это также должно работать: ‹? Php echo exec ('whoami'); ? › - person NightKnight on Cloudinsidr.com; 10.05.2014

Спасибо, я решил использовать sender_canonical_maps в файле postfix main.cf.

person devops85    schedule 11.05.2014