PHPのメール送信はmb_send_mailで簡単に送信

PHPでメールとDBを使う PHP/MySQL

メール送信はmb_send_mail

webサーバーものスペックが10年前よりよくなっているので、メールアプリを利用しなくてもmb_send_mailで十分。

mb_send_mailの、additional_paramsは注意

additional_paramsは、自動で内部的にescapeshellcmd() でエスケープした状態にしてくれる。escapeshellcmd() コマンドの実行を防止するが、 別のパラメータを追加することは許してしまうので注意。 PHPのメール送信は豊富にあるのでいろいろ試してもいいかもしれない。 mb_send_mail():PHP日本語マニュアル 単純に記号だけ全角にするなら以下の方法

PHP


$mail_text="";
//メールの本文に記載された記号をエンティ前に全角にする
if(isset($_POST['mail_text'])){
    $mail_text =  str_replace( "<", "<",($_POST['$mail_text']) );
    $mail_text =  str_replace( ">", ">",$mail_text);//全角に
    $mail_text =  str_replace( "&", "&",$mail_text);//全角に
    $mail_text =  str_replace( '"', "’’",$mail_text);//全角に
    $mail_text =  str_replace( '\'', '’',$mail_text);//全角に
    $mail_text =  str_replace( '{', '{',$mail_text);//全角に
    $mail_text =  str_replace( '}', '}',$mail_text);//全角に
    $mail_text =  str_replace( '/', '/',$mail_text);//全角に
    $mail_text =  str_replace( '?', '?',$mail_text);//全角に
    $mail_text =  str_replace( '
自動送信用のメール文のセット

PHP


//-------------------------------------------------
//	メール査定申込の内容確認、
//  $timeに時間をセットしておく
//--------------------------------------------------
$sent_mailbun = "\r\n" . 
"\r\n" . 
"-------------------------"."\r\n" . 
"本メールは自動配信メールです。"."\r\n" . 
"-------------------------"."\r\n" . 
"\r\n" .
"\r\n" .
"通常お問い合わせの返信は1日以内にお送り致しますが、お問い合わせの内容や定休日などにより遅くなる場合がございますので予めご了承ください。"."\r\n" .
 "\r\n" .
 "\r\n" .
"【お問合せ日時】"."\r\n" .
$time ."\r\n" .
"\r\n" .
$mail_text ."\r\n" .
"\r\n" .
"\r\n" .
"===========================\r\n".
"\r\n" . 
"https://xxxxxxx.com/".
"\r\n" .
"お問合せ電話:000000000 ".
"\r\n" . 
"============================\r\n";
//-------------------------------------------------
//	メール自動返信内容_ここまで
//-------------------------------------------------

送信完了したら送信済とCookieに情報を保存しておく。

PHP


//-----------------------
//メール送信ヘッダー内容
//mb_send_mail
//----------------------
mb_language("Japanese");
mb_internal_encoding("UTF-8");
$to = $mail;
$title1 = 'お問い合わせ内容ご確認(自動配信メール)';//件名部分
$mail_header1 ="From: "."info@xxxx.com";//From

//---------------------
//お問い合わせのメール送信
//--------------------
if(mb_send_mail($to, $title1, $sent_mailbun, $mail_header1)){//送信成功
    $h1 = "お問合せ内容の送信完了";
    $p = "メールアドレスにお問合せ内容の確認メールをお送り致しました。";

    //送信済クッキーを保存
    setcookie("Mail_sent[info_sent]","",time()-60);	//Cooki削除
    setcookie("Mail_sent[info_sent]","SENT",time() + 60 * 30 );	//Cooki保存 time()15分

} else {//送信失敗
    $h1 = "メール登録エラー";
    $p = "お客様のメールアドレスに送信失敗しました。\r\n". 
        "ご入力のメールアドレスに間違いがありませんか。\r\n" . 
        "PCメールからの受信可になっているかご確認ください。\r\n". 
            "\r\n". 
        "ページを戻り、再度内容をご確認の上、再度お申込みください。\r\n";
    $e_message ="送信エラーがありました。\r\n";
}//お客様にメール送信
//-------------------------

//送信出来なかった場合をみたいときはif (!mb_send_mail(~))の記載でも大丈夫

簡単でしたね。HTMLメールも簡単に送信できます。 mail():PHP日本語マニュアル , '$',$mail_text);//全角に $mail_text = htmlentities($mail_text);//エンティティ }else{ $e_message ="入力エラーがありました。ページを戻って再度ご質問内容を入力をしてください。"; }//
自動送信用のメール文のセット

PHP


送信完了したら送信済とCookieに情報を保存しておく。

PHP

簡単でしたね。HTMLメールも簡単に送信できます。 mail():PHP日本語マニュアル
タイトルとURLをコピーしました