簡體   English   中英

來自PHP郵件的EC2 SES

[英]EC2 SES from php mail

發送電子郵件到SES

當我從命令提示符處執行以下命令時,它可以正常工作並成功發送電子郵件

sudo /usr/sbin/sendmail -f test@gmail.com test@gmail.com

我遵循了以下說明http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sendmail.html

當我從簡單的php應用程序嘗試相同操作時,這就是我返回的“服務不可用”

Jan  4 20:58:58 ip-10-252-22-51 sendmail[32217]: s04Kww8t032217: from=www-data, size=130, class=0, nrcpts=1, msgid=<201401042058.s04Kww8t032217@ip-10-252-22-51.us-west-2.compute.internal>, relay=www-data@localhost
Jan  4 20:58:58 ip-10-252-22-51 sm-mta[32218]: s04Kww3h032218: from=<www-data@ip-10-252-22-51.us-west-2.compute.internal>, size=475, class=0, nrcpts=1, msgid=<201401042058.s04Kww8t032217@ip-10-252-22-51.us-west-2.compute.internal>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Jan  4 20:58:58 ip-10-252-22-51 sendmail[32217]: s04Kww8t032217: to=test@gmail.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30130, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (s04Kww3h032218 Message accepted for delivery)
Jan  4 20:58:59 ip-10-252-22-51 sm-mta[32220]: STARTTLS=client, relay=email-smtp.us-east-1.amazonaws.com, version=TLSv1/SSLv3, verify=FAIL, cipher=AES256-SHA, bits=256/256
Jan  4 20:59:00 ip-10-252-22-51 sm-mta[32220]: s04Kww3h032218: to=<sinkinsona@gmail.com>, ctladdr=<www-data@ip-10-252-22-51.us-west-2.compute.internal> (33/33), delay=00:00:02, xdelay=00:00:02, mailer=relay, pri=120475, relay=email-smtp.us-east-1.amazonaws.com [23.21.252.142], dsn=5.0.0, stat=Service unavailable
Jan  4 20:59:00 ip-10-252-22-51 sm-mta[32220]: s04Kww3h032218: s04Kx03h032220: DSN: Service unavailable
Jan  4 20:59:00 ip-10-252-22-51 sm-mta[32220]: s04Kx03h032220: to=<www-data@ip-10-252-22-51.us-west-2.compute.internal>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30000, dsn=2.0.0, stat=Sent

在我的php.ini中sendmail指向

/usr/sbin/sendmail –t –i

我已將apache用戶添加到郵件中。

sudo adduser www-data mail

這是我的測試PHP文件的內容

$to = "test@gmail.com";
$subject = "test mail";
$message = "hello - this is a test";
$headers ="From: test@gmail.com";
mail($to,$subject,$message,$headers);
echo "Mail Sent";

我為什么不能從php郵件功能發送電子郵件的任何幫助將不勝感激。

我自己碰到了這個(或類似的東西)。 我發現在sendmail命令行(在php.ini內部)中指定發件人的電子郵件地址為我解決了此問題:

/usr/sbin/sendmail –t –i -f from_email_address

因此,似乎未正確將其添加到請求中。

指定發送者信封/返回路徑,然后添加“ -f”參數。 最好,尤其是使用SES時,使“ from:”標頭與發送方的標頭匹配:

$to = "test@gmail.com";
$subject = "test mail";
$message = "hello - this is a test";
$headers ="From: test@gmail.com";
$params = "-ftest@gmail.com"
mail($to,$subject,$message,$headers,$params);
echo "Mail Sent";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM