2

アマゾンsesサービスのクレデンシャルを使用してメールを送信するために次のコードを使用しています。しかし、メッセージは配信されていません...

これは私のコードです:

$this->load->library('email');

$config = array(
    'protocol' => 'smtp',
    'smtp_host' => 'email-smtp.us-east-1.amazonaws.com',
    'smtp_user' => '******',
    'smtp_pass' => '*********',
    'smtp_port' => 25
);

$this->email->initialize($config);

$this->email->from('sender08@example.com');
$this->email->to('reciever@example.com');

$this->email->subject('Test');
$this->email->message('test');
$this->email->set_newline("\r\n");
$this->email->send();
$this->email->print_debugger();

どうすれば修正できますか?

4

3 に答える 3

2

機能させるために、config/email.php ファイルに次の行を追加しました。

$config['newline']      = "\r\n";
$config['smtp_crypto']  = 'tls';

注: smtp_crypto ディレクティブが機能するには、CI 2.1.0 以降が必要です。

これも構成配列に追加することで機能すると思います:

$config = array(
    'protocol'  => 'smtp',
    'smtp_host' => 'email-smtp.us-east-1.amazonaws.com',
    'smtp_user' => '******',
    'smtp_pass' => '*********',
    'smtp_port' => 25,
    'newline'   => "\r\n",
    'smtp_crypto' => 'tls'
);
于 2014-01-14T20:22:02.613 に答える
0

email-smtp.us-east-1.amazonaws.comをssl://email-smtp.us-east-1.amazonaws.comに変更するだけです。

于 2013-01-07T09:12:31.850 に答える
0

私は解決策を見つけました:TLSを使用している場合

次に、この email-smtp.us-east-1.amazonaws.com の代わりに

tls://email-smtp.us-east-1.amazonaws.com を使用します

この $config['newline'] = "\r\n"; を追加します。ここで、SMTP 構成を定義しました。

これら2つを変更することで解決される同じ問題に直面しました。

この提案も皆さんのお役に立てば幸いです。

于 2016-04-07T07:44:51.100 に答える