cakephpでメール送信機能を実現しようとしたところ躓いてしまいました。
よろしければ、お力添えをいただけたらと思います。
前提・実現したいこと
webページ上である動作を行った際、メールでその行動内容を管理者に通知するシステムを作成しています。
環境はcakephp3.1、php5.4です。
この環境は仕様上変えることができません。
発生している問題・エラーメッセージ
現行の問題としては、メールを送信した際にページの読み込みが終わらないという不具合が発生しています。
この不具合が発生した場合、xamppコントロールパネルからapacheを再起動させるまでは他の操作も一切受け付けなくなる状態です。
メールを送信する機能だけ抜き出して実行した際には問題なく動作したのですが、それを実際の会員登録処理の中に書き込んだ場合や、メールの送信後にページを遷移させる処理を挟み込んだ場合は、例外なくこの不具合が発生します。
また、不具合が発生する場合でもメールの送受信自体は意図したとおりに動作しており、送受信そのものには問題がないようです。
xamppのエラーログ、phpのエラーログともにエラーメッセージが表示されないため、何が原因かさっぱり分かりません。
原因として考えられるものがありましたら、ご指摘ください。
該当のソースコード
原因について調べるため機能を抜き出して試したところ、以下のコードでも同様の不具合が発生しました。
php
1public function mails() 2 { 3 $email = new Email('default'); 4 $email->from('example1@gmail.com') 5 ->to('example2@gmail.com') 6 ->subject('試験') 7 ->send('success'); 8 9 $this->redirect(['action' => 'index']); 10 }
補足情報
動作が停止した後にxamppのコントロールパネルを確認したところ、apacheのポート番号が80でも443でもない番号で停止していました。
この番号は毎回異なっており、いずれも49152~65535の範囲内でしたので、番号自体に問題はなさそうです。
この番号に関して気になったため、コマンドプロンプトのnetstataで調べたところ、syn_sentで停止していることが分かりました。
恐れ入りますが、ご協力いただけましたらさいわいです。
あなたの回答
tips
プレビュー