dポイントプレゼントキャンペーン実施中!

下記のようにすると同じメールが2発送信されてしまいます。
("当たり前だ!" と言われそうですが)

if( $reqmailad != "" ){
mb_send_mail( $reqmailad, $subject, $body, $header );
}
if( mb_send_mail( $reqmailad, $subject, $body, $header ) ){
echo "${reqmailad} 宛にメールを送信しました。";
}

「$reqmailad != ""」 ならばメールを送信し、メール送信を確認の上、
「echo "${reqmailad} 宛にメールを送信しました。";」
とやりたい(メール送信は1発だけ)のですが、未熟者の私にはその方法がわかりません。
なにとぞお助けくださいませ。

A 回答 (2件)

if( $reqmailad != "" ){


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

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

お礼日時:2006/12/18 11:53

メール送信後の戻り値を変数に格納して、


$rcd = mb_send_mail()
その後に、失敗か成功かを比較します。
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …

if( $reqmailad != "" ){
$rcd = mb_send_mail( $reqmailad, $subject, $body, $header );
}
if( $rcd ) ){
echo "${reqmailad} 宛にメールを送信しました。";
}
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/12/22 09:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!