2014-05-10 49 views
0

我嘗試使用具有postFix的Ubuntu AWS實例發送帶有經過驗證的地址([email protected])的電子郵件& Amazon SES,但它不適用於Postfix。無法使用Amazon AWS,SES和PostFix發送電子郵件

1)我從this site

下載的「亞馬遜簡單的電子郵件服務腳本」我跟着指導,我可以使用下面的行發送電子郵件:

./ses-send -email.pl --verbose -k AWS-憑證-s 「從SES測試」 -f [email protected] [email protected]

所以一切工作良好。

2)我已經安裝Postfix和我添加以下行/etc/postfix/master.cf以點1

AWS-UNIX電子郵件整合 - NN - - 管標誌= 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] 

我沒有收到郵件,因爲後綴自動從usertest remplaces發件人的電子郵件地址@ gmail.com到[email protected][email protected]不是經過驗證的電子郵件地址。

另外我試過在/ etc/aliases中設置一個別名,但postfix並沒有用usertest替換root。

我只想在我的PHP站點中使用我的gmail電子郵件地址發送一些電子郵件,這些電子郵件地址是在AWS微型實例中分配的。這是我第一次在亞馬遜雲世界,我認爲我在這裏做錯了什麼。

你能幫我嗎?

在此先感謝。

回答

1

我沒有收到郵件,因爲後綴自動從 [email protected] remplaces發件人的電子郵件地址,以[email protected][email protected]不是經過驗證的電子郵件。

這是因爲您是從Unix系統帳戶發送(以root身份登錄)。

另外我試過在/ etc/aliases中設置一個別名,但postfix並沒有用usertest替換root。

這是正確的。您需要像Dovecot這樣的郵件發送代理與Dovecot的虛擬用戶對Postfix進行身份驗證,否則您將不得不通過該用戶名創建Unix用戶帳戶。

+0

NightKnight感謝您的回覆。但是,當我通過公共PHP網站發送電子郵件時,該用戶將用於發送電子郵件? root用戶呢? – devops85

+1

運行php服務的用戶(進程所有者)。你可以使用$ processUser = posix_getpwuid(posix_geteuid())找到它; print_r($ processUser); [請投票如果我有幫助] –

+0

這也應該工作:<?php echo exec('whoami'); ?> –

1

謝謝 我解決了在main.cf postfix的文件中使用sender_canonical_maps。

相關問題