- 機能:店舗予約システム(○○.jp)
氏名、住所、メールアドレスなど入力→確認画面→確認して問題なければ送信ボタン押下→店舗アドレス、顧客アドレス、管理アドレスにメール送信→送信内容をDBに登録
php
1if(@mb_send_mail($To,$subject,$body,$mail_header,$ReturnPath)){ 2 $Sr = 1; 3}
<アドレスについて>
店舗アドレス→DBからSELECTしてきたものそのままmb_send_mailに渡す
顧客アドレス→予約フォームで入力されたものをエスケープしてmb_send_mailに渡す
管理アドレス→ソース中で直書きしたアドレスをmb_send_mailに渡す
送信元アドレスは管理アドレス
<DB登録について>
mb_send_mailの結果送信に成功すれば$Sr = 1が返ってきて、
DBのrテーブルSr(送信結果カラム)カラムに1を登録する。
- 前提:
一昨日まで正常に動作していた。昨日SSL化した。送信プログラムには変更を加えていない。
SSL化で加えたシステムへの変更は、内部リンクの絶対パスと既にSSL化されている外部ソース(Googleなど)をhttpからhttpsに変えることのみ。
- 不具合:特定のドメインにのみメールが届かない
SSL化に伴い、全ての店舗に入力フォームから予約をし、予約メールが届いたか全ての店舗に確認を取りました。
登録されている数10の店舗のうち、a、b、c店から予約メールが届かないと連絡がありました。
a店のアドレス:a-1@test.com
b店のアドレス:b2@ttttt.jp
c店のアドレス:c-3@sss.biz
abc店に予約した際の管理アドレス宛、顧客宛ての予約確認メールは届いています。
c店はPCサイトからの予約メールは届いていますが、モバイルサイトからの予約メールが届かないそうです。
PCサイトとモバイルサイトは格納してるディレクトリは違いますが、コードの内容は同じです。
サイトのサーバからエラーが管理アドレスに返ってくる
Sorry, I wasn't able to establish an SMTP connection. (#4.4.1)
I'm not going to try again; this message has been in the queue too long.
- 確認したこと:
上司が確認
・a-2@test.comには届かない
・管理アドレスからa-1@test.comに転送すると届く
・r@○○.jpからWebメールでa-1@test.comにメールしても届かない
・△@b2.comには届く
自分が確認
・mb_send_mailに店舗アドレス渡す際にエスケープでハイフン除くなど処理は加えていない(DBからSELECTしたそのまま)
・DBに登録されてる送信結果Srカラムは1である(mb_send_mailの返り値はtrue)
- 質問:
上司からシステムに問題がないか、SSL化の変更漏れなどないか確認するように言われたのですが、
自分としてはこれ以上確認できることないかと思うのですが、他に何かあるでしょうか?
管理アドレスの管理は上司がしており、DNS設定などは自分からは確認できません。
自分の認識としては、予約ロジックに変更は加えていないし、
mb_send_mailの返り値がtrueな時点で、この送信システムが担保しているメールを送信する。というところまでは問題がなく、問題はその先にあるのでは?と思うのですが、考え方合ってますか?
また、他の店舗や同時に送信してる顧客宛て、管理アドレス宛にはメールが届いているので、その点でもシステムには問題がないように思います。
エラー文でググったらこのようなものも出てきて、DNSの問題で上司が確認すべきかと思うのですが、どうでしょうか?
一応自分の担当分としては調べ切ったと思っているのですが、見落としがない自信もなく、ご教授よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー