• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:if( mb_send_mail( ・・・) ) {・・・} とするとメールが送信されてしまいます)

メール送信に関する未熟者の質問

このQ&Aのポイント
  • mb_send_mail関数を使用してメールを送信する際に、同じメールが2回送信されてしまう問題が発生しています。
  • mb_send_mail関数を1回だけ呼び出し、メールの送信が成功した場合にのみ確認メッセージを表示する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • JAWS55
  • ベストアンサー率38% (176/452)
回答No.1

if( $reqmailad != "" ){ if( mb_send_mail( $reqmailad, $subject, $body, $header ) ){ echo "${reqmailad} 宛にメールを送信しました。"; } } では? if文でmb_send_mail()を評価する際にも当然実行されるので、元のソースでは、2回送信されてしまいます。

godsaveme
質問者

お礼

早速のご回答ありがとうございます。 うまくいきました。 頭は使いようですね。脱帽させていただきます。

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

メール送信後の戻り値を変数に格納して、 $rcd = mb_send_mail() その後に、失敗か成功かを比較します。 http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k11.htm if( $reqmailad != "" ){ $rcd = mb_send_mail( $reqmailad, $subject, $body, $header ); } if( $rcd ) ){ echo "${reqmailad} 宛にメールを送信しました。"; }

godsaveme
質問者

お礼

ご回答ありがとうございます。 参考にさせていただきました。

関連するQ&A