1

ExpressionEngine で STARTTLS を使用して Amazon SES SMTP を使用してメールを送信しようとしています。以下のエラーが発生しています。

STARTTLS コマンドの前に AUTH LOGIN コマンドを送信できないと不平を言っている理由がわかりません - STARTTLS は明らかに既に送信されています。考えられることはすべて試しましたが、誰かが私を正しい方向に向けることができれば幸いです。


220 email-smtp.amazonaws.com ESMTP SimpleEmailService-376766033

こんにちは: 250-email-smtp.amazonaws.com

250-8BITMIME

250サイズ 10485760

250-STARTTLS

250 認証プレーン ログイン

250 わかりました

AUTH LOGIN コマンドの送信に失敗しました。エラー: 530 最初に STARTTLS コマンドを発行する必要があります

from: 530 認証が必要です

次の SMTP エラーが発生しました: 530 認証が必要です

to: 503 エラー: MAIL コマンドが必要です

次の SMTP エラーが発生しました: 503 エラー: MAIL コマンドが必要です

データ: 503 エラー: MAIL コマンドが必要です

次の SMTP エラーが発生しました: 503 エラー: MAIL コマンドが必要です

500 エラー: コマンドが実装されていません

次の SMTP エラーが発生しました: 500 エラー: コマンドが実装されていません

PHP SMTP を使用して電子メールを送信できません。この方法を使用してメールを送信するようにサーバーが構成されていない可能性があります。

4

2 に答える 2

1

これが私の修正です。なぜそれが機能するのかを理解する時間がありませんでしたが、時間があれば共有してください.

EE 構成ファイルに次の設定を追加します (いずれかが機能する例が複数あるため、2 つの tls 設定???):

/* SMTP mail settings
-------------------------------------------------------------------*/
$config['mail_protocol'] = "smtp";
$config['email_smtp_crypto'] = "tls";
$config['smtp_crypto'] = "tls";
$config['smtp_server'] = "AWS-SMTP-ADDRESS";
$config['smtp_username'] = "AWS-SMTP-USERNAME";
$config['smtp_password'] = "AWS-SMTP-PASSWORD";
$config['smtp_port'] = "465";
$config['smtp_timeout'] = 30;
$config['email_crlf'] = "\r\n"; 
$config['email_newline'] = "\r\n";

次に、この投稿の行に沿って Codeigniter Email.php クラスを変更します: http://ellislab.com/forums/viewthread/158882/

私が行った唯一のバリエーションは、デフォルトで $starttls = TRUE を設定することでした。

var $starttls       = TRUE;
于 2013-06-03T00:58:34.397 に答える