Не мога да изпращам имейли с Amazon AWS, SES и PostFix

Опитвам се да изпращам имейли с моя потвърден адрес ([email protected]), използвайки екземпляр на Ubuntu AWS с postFix & Amazon SES, но не работи с postfix.

1) Изтеглих „Скриптове за прости имейл услуги на Amazon“ от този сайт

Следвах ръководството и мога да изпращам имейли, използвайки следния ред:

./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 - n n - - 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 Micro Instance. За първи път съм в 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