0

ユーザーが提供された入力に電子メールを挿入したときに、ユーザーにアクティベーションリンクを電子メールで送信するスクリプトを設定しました。

私はCodeIgniterの電子メールクラスを使用してマルチパート電子メールを送信していますが、問題は、電子メールが送信されたときに、デバッガーが電子メールは正常に送信されたと言っても、メッセージが受信されないことです。

社内の仕事用メールにメールを送信すると、問題なく送信されます。しかし、Gmailアカウントに送信しても、届きません。

メール内にリンクを挿入する際の問題として、問題を突き止めることができました。リンクを削除すると、メールは正常に送信されます。リンクを元に戻しましたが、Gmailアカウントでメールが受信されません。

誰かがこの問題に遭遇したことがありますか、またはこれを修正する方法について何か洞察がありますか?

4

2 に答える 2

0

問題は CodeIgniter やコードにあるのではなく、サーバーのメール転送エージェントが Gmail サーバーに送信しているようです。

CodeIgniter がメールをまとめて PHP エンジンに渡すと、PHP エンジンはそのメールをサーバー上のメール転送エージェントに渡して送信します。MTA は PHP に、したがって CodeIgniter に、メールを適切に受信したことを報告します。PHP と CodeIgniter のジョブがこの時点で終了すると、正常に送信されたことが報告されます。

Gmail のスパム フォルダをチェックして、そこに置かれているかどうかを確認してください..? しばらく CI を使用していないので、正確には思い出せませんが、送信前に設定する必要がある HTML メール パラメータがあると思います。その場合、Gmail はこれも設定されることを期待している可能性があります。

http://codeigniter.com/user_guide/libraries/email.htmlの「Email Preferences」まで下にスクロールし、メール タイプを HTML に設定します。

それでもうまくいかない場合は、完全にデバッグする必要があります。

問題を適切にデバッグするには、MTA ログにアクセスできる必要があります。これはローカル開発サーバーですか、それとも稼働中の本番マシンですか? Linux ですか、それとも Windows ですか。Linux の場合、どのディストリビューションですか? どの MTA を使用しているか知っていますか? サーバーに SSH アクセスできますか?

SSH アクセスを取得して、所有している MTA を見つけることができれば、物事を見つけるのがはるかに簡単になり、発信メッセージと宛先サーバーの応答を監視することができます。

于 2012-05-16T15:14:10.293 に答える
0

あなたのメールは拒否されています..これは CI の問題ではありません..

于 2012-05-16T15:04:56.750 に答える