2

私は周りを見回しましたが、この問題について多くの質問がありますが、それらはすべてやや具体的であり、私が探している情報を持っているものはないようです.

最近、登録した人やパスワードを忘れた人に自動メールを送信できるように、サイトにメール機能を追加しました。これは適切に設定されており、Localhost で正常に動作します。

次に、サイトを Web サーバーにプッシュしましたが、機能していません。次のエラー メッセージが表示されます。

fsockopen() [function.fsockopen]: smtp.sendgrid.net:587 に接続できません (接続が拒否されました)

上記の接続の発生に依存する機能に関連するその他のエラーが続きます。ポート 587、25、および 2525 を試しましたが、うまくいきません。

これはコードです:

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

$this->email->initialize(array(
    'protocol' => 'smtp',
    'smtp_host' => 'smtp.sendgrid.net',
    'smtp_user' => 'username',
    'smtp_pass' => 'secretpwd',
    'smtp_port' => 587,
    'crlf' => "\r\n",
    'newline' => "\r\n",
    'mailtype' => 'html'
));

$this->email->from('info@domain.com', 'CompanyName');
$this->email->to($this->input->post('register_email')); 

$this->email->subject('Application Confirmation');

$this->email->message('Hello');

$this->email->send()
4

1 に答える 1

4

ドメインにオープンリレーがあります!!!!!!!! Postfix を使用している場合は、メインの構成ファイルをこれに更新してください

smtpd_recipient_restrictions = 
    reject_unknown_recipient_domain
    permit_sasl_authenticated
    reject_unauth_destination #this is important
    permit 
    smtpd_sender_restrictions = reject_unknown_sender_domain

あなたの質問に関する限り、いくつかのコードを見せてください。これだけでは何が悪いのかを結論付けるのは難しい。

于 2012-12-06T16:26:34.907 に答える