簡體   English   中英

使用 Amazon AWS SES 發送電子郵件

[英]Sending emails using Amazon AWS SES

我已經配置了aws的ses服務但是一直無法使用。 我的電子郵件正在發送,但它們是通過我的托管服務器 (Godaddy) 發送的,我只想通過 AWS 的 SES 發送它們。 請原諒我,如果我犯了一個新手錯誤。

這是我的代碼的樣子

<?php
require 'PHPMailerAutoload.php';
require 'class.phpmailer.php';
$mail = new PHPMailer;
$mail->SMTPDebug = 2;
$mail->Host = 'email-smtp.eu-west-1.amazonaws.com';
$mail->Port = 25;
$mail->ssl = true;
$mail->authentication = true;
$mail->Username = 'username';
$mail->Password = 'password';
$mail->setFrom('vaibhav@zigsaw.in', 'Test Email');
$mail->Body = 'Test Email from Zigsaw';
$mail->AddReplyTo('zigsawconsultancy@gmail.com', 'Candidate');
$mail->addAddress('zigsawconsultancy@gmail.com', 'Recruiter');
$mail->Subject = 'Test Email from Zigsaw';
if(!$mail->send()) 
{
echo "Email not sent. " , $mail->ErrorInfo , PHP_EOL;
} 
else 
{
echo "Email sent!" , PHP_EOL;
}
?>

免責聲明:我的文件托管在 Godaddy 服務器上,我正在嘗試通過 AWS SES 發送電子郵件。

GoDaddy 阻止出站 SMTP,但您沒有告訴 PHPMailer 使用 SMTP(所以您的大部分設置什么都不做),所以它通過 mail() 函數提交,使用本地郵件服務器,在 GoDaddy 的情況下是他們的服務器 - 所以這就是為什么它會這樣。 不幸的是,沒有辦法在 GoDaddy 上使用外部 SMTP,盡管您可以通過他們的secureserver.net中繼發送 - 但這當然意味着您不能使用您的個人域發送,因為它是偽造的並且您的郵件將被垃圾郵件過濾或反彈。

如果你打電話:

$mail->isSMTP();

PHPMailer 將使用 SMTP 和您的其他設置,但正如我在我的評論中所說,您剛剛發明了一堆不起作用的東西,因此根據提供的示例重寫您的代碼,盡管這在 GoDaddy 上不起作用。

如果 SES 有 HTTP API,那么您可以改用它,因為它不會受到 GoDaddy 的阻止。

暫無
暫無

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

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