私のAmazonSESキー、シークレット+ SMTPアドレスを使用する方法はZend_Mail_Transport_Smtp
?それは言う:Must issue a STARTTLS command first
フォローしようとしている間。
/*
Reference in C#: http://sesblog.amazon.com/
String username = "SMTP-USERNAME"; // Replace with your SMTP username.
String password = "SMTP-PASSWORD"; // Replace with your SMTP password.
String host = "email-smtp.us-east-1.amazonaws.com";
int port = 25;
*/
public static function sendEmail($to, $subject, $body) {
$config = array(
'aws_key' => 'yourkey',
'aws_secret' => 'yourkeysecret',
));
//
//echo 0 > /selinux/enforce
//$tr = new Zend_Mail_Transport_Smtp('smtp.belgacom.be');// works - for local
//$tr = new Zend_Mail_Transport_Smtp('out.telenet.be' ); // works - for office
//
$tr = new Zend_Mail_Transport_Smtp(
'email-smtp.us-east-1.amazonaws.com'); // DOES not work
Zend_Mail::setDefaultTransport($tr);
$mail = new Zend_Mail();
$html = self::setupEmail($body);
$mail->setBodyHtml($html);
$mail->setFrom('support@memy.com', 'memy.com');
$mail->addTo($to, 'EXAMPLE');
$mail->setSubject($subject);
$mail->send();
}
ファローアップ:
// Wild guess
$config = array(
'aws_key' => 'yourkey',
'aws_secret' => 'yourkeysecret',
));
$tr = new Zend_Mail_Transport_Smtp('email-smtp.us-east-1.amazonaws.com',
$config);
最終フォローアップ:
ステップ1) Amazon SES SMTPインターフェースを使用してEメールを送信するには、以下が必要です。
AWSアカウント。
大量のメールを送信する場合は、AmazonSES本番アクセス。詳細については、本番アクセスの要求を参照してください。
-それをした後、彼らは許可します
send 10000 emails per 24 hour period
--これは24時間未満のようにすばやくアクティブになります
-5メール/秒
AmazonSESで確認したメールアドレス。詳細については、「電子メールアドレスの確認」を参照してください。
-これは彼らによる検証に時間がかかります
-これはまだ確認されていない24時間後です
SMTPインターフェイスのホスト名とポート番号。ホスト名はemail-smtp.us-east-1.amazonaws.comです。ポート番号は接続方法によって異なります。詳細については、SMTPエンドポイントへの接続を参照してください。
-他に非常に重要です、それは失敗していました
AWSマネジメントコンソールから取得したSMTPユーザー名とパスワード。詳細については、SMTPクレデンシャルを参照してください。
TLS(Transport Layer Security)を使用して通信できるクライアントソフトウェア。
ステップ2)上記を実行しました。管理コンソールに次のように表示されます。
Status:
pending verification (resend)
Please check your inbox for an email to this address, and click on the link provided to complete verification. If you did not receive this email, please click resend.
Domain verification in AWS:
Status:
pending verification (resend)
Please check your inbox for an email to this address, and click on the link provided to complete verification. If you did not receive this email, please click resend.
つまり、72時間以内に何かをするということです
ステップ3)外部アダプターを使用せずに$ configを変更します(ZFによってシフトされません)
$config = array(
'auth' => 'login',
'username' => 'SES key',
'password' => 'SES secret',
));
$tr = new Zend_Mail_Transport_Smtp('email-smtp.us-east-1.amazonaws.com',
$config);