mb_send_mailを使って、お客様フォームから受付完了メールを自動送信するシステムを作りました。
headerにて送信者関するコードを記載したところ、
メールタイトル項目(上段にある送信者のみの項目)の送信者(日本語のみ)が文字化けします。
gメールでは化けませんが、outlookでは化けます。
本文やその他は、文字化けしません。
メールタイトル項目の送信者の文字化けをしないコードをお教え願います。
php
1function send_form(){ 2 global $name; 3 global $email; 4 global $tel; 5 global $zipcode; 6 global $address; 7 global $attribute; 8 global $comment; 9 global $mytime; 10 11 $user_input = array($mytime,$name,$email,$tel,$zipcode,$address,$attribute,$comment); 12 mb_convert_variables("SJIS","UTF-8",$user_input); 13 $fh = fopen("user.csv","a"); 14 flock($fh,LOCK_EX); 15 fputcsv($fh, $user_input); 16 flock($fh,LOCK_UN); 17 fclose($fh); 18 19 #テンプレート読み込み 20 $conf = fopen("tmpl/send.tmpl","r") or die; 21 $size = filesize("tmpl/send.tmpl"); 22 $data = fread($conf , $size); 23 fclose($conf); 24 25 #メール送信の処理 26 mb_language("Japanese"); 27 mb_internal_encoding("UTF-8"); 28 // 送信元 29 $from = "日本語<info@111net>"; 30 // 送信元メールアドレス 31 $from_mail = "info@111net"; 32 // 送信者名 33 $from_name = "日本語"; 34 // 送信者情報の設定 35 $header = ""; 36 $header .= "Content-Type: text/plain \r\n"; 37 $header .= "Return-Path: " . $from_mail . " \r\n"; 38 $header .= "From: " . $from ." \r\n"; 39 $header .= "Sender: " . $from ." \r\n"; 40 $header .= "Reply-To: " . $from_mail . " \r\n"; 41 $header .= "Organization: " . $from_name . " \r\n"; 42 $header .= "X-Sender: " . $from_mail . " \r\n"; 43 $header .= "X-Priority: 3 \r\n"; 44 45 mb_send_mail("info@111net",'お問合せを受け付けました。',"【お問合せ者】\r\n$name\r\n【メールアドレス】\r\n$email\r\n【電話番号】\r\n$tel\r\n【お問い合わせ内容】\r\n".$comment); 46 mb_send_mail($email,'【○○】お問合せを受け付けました。',"━━━━━━━━━━━━━━━━━━━━━━━━━━━━\r\n"."\r\n【○○】お問合せを受け付けました。\r\n"."\r\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━\r\n"."\r\n\r\n".$name." 様\r\n"."\r\nお問い合わせくださいまして、誠にありがとうございます。\r\n"."\r\nお問い合わせ内容を確認の上、回答いたします。\r\n"."\r\nいましばらくお待ちくださいますようお願いいたします。\r\n"."\r\n(このメールは、受付完了の自動配信メールです。)\r\n"."\r\n--------------------------------------------------\r\n"."\r\n○○",$headers); 47 48 #文字置き換え 49 global $toppage; 50 $data = str_replace("!top!", $toppage, $data); 51 52 #表示 53 echo $data; 54 echo $mytime; 55 exit; 56} 57
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/22 09:18
2021/06/22 10:10
2021/06/22 11:42