• 締切済み

mb_send_mal

mail関数で、日本語の文字化けが起きたので、 mb_language, mb_internal_encoding, mb_send_mailに 変更したのですが、実行が止まってしまいます。 mb_* 関数がないのでエラーになっているようなのですが。 どこかの設定か、インストールもれでしょうか。

みんなの回答

  • 1minn
  • ベストアンサー率57% (52/90)
回答No.2

php.iniの設定で[mb_string]関連の設定を見てみては? 実行が止まってしまう(エラーになっているよう)というのは実際にエラーが吐かれているのでしょうか? どのような方法でデバッグされているかはわかりませんが、エラーが出ているのであれば内容を提示すればもう少し具体的な情報も得られると思いますよ。

全文を見る
すると、全ての回答が全文表示されます。
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

まず、以下のコードで使えるかどうか調べてみては? <?php if (function_exists('mb_send_mail')) { print "mb_send_mail 関数が利用可能です。<br />\n"; } print_r (get_extension_funcs ("mbstring")); ?>

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • mb_send_mailでメール送信すると文字化けします

    mb_send_mailを使って、 mb_send_mail($_POST[cmail], $subject, $mailmsg, $header); で送信すると文字化けします。 お願い申し上げますが、お願い垂?上げます。になってしまいます。 一応、 mb_language('Japanese'); mb_internal_encoding("SJIS"); をmb_send_mailの前に指定してあるのですが。 原因が分からないので、何方か分かる方は、ご教授お願いします。

    • ベストアンサー
    • PHP
  • phpのmb_send_mailで携帯のみ文字化け

    PHPのmb_send_mail関数でメールを送信しています。 メールサーバーはGoogleAppsのを使っています PHPのバージョンは5.1.6 --- 下記ソース --- //日本語と内部文字エンコードの指定 mb_language('ja'); mb_internal_encoding('UTF-8'); $parameter = "-f hoge@example.co.jp";//return_path設定 // ↓コレだと携帯では文字化けしないが、Gmailへ送信すると文字化け //$subject = mb_encode_mimeheader(mb_convert_encoding($subject,"JIS","UTF-8")); $header = ""; $header .= "From: {$subject}<{$from}>"; $message = str_replace("\r", "", $message); $res = mb_send_mail($to, $subject, $message, $header, $parameter);

    • ベストアンサー
    • PHP
  • PHP 機種依存文字化け mb_send_mail

    お世話になります。 PHP初心者です。 メール送信時に機種依存文字(﨑髙濵など)の文字化けを解消したいと考えております。 状況を以下に記載します。 ○お問い合せページを作成 1.入力ページ(metaタグの charset=shift_jis) 2.確認ページ(metaタグの charset=shift_jis) 3.終了ページ(metaタグの charset=shift_jis) ○終了ページ(コード抜粋) mb_language("Japanese"); mb_internal_encoding("SJIS"); $ret = mb_send_mail($to1,$subject,$body1,$header); 上記の場合、文字化け(?)になります。 終了ページのキャラセットをUTF-8に変更し、 mb_language("uni"); mb_internal_encoding("UTF-8"); $ret = mb_send_mail($to1,$subject,$body1,$header); とすると、確認ページから渡ってきたセッションの値が文字化けしていて、 その値をmb_convert_encodingでコンバートしても文字化けしてしまいます。 全ページのキャラセットをUTF-8に変更すれば、問題なく受渡しできて、文字化けにならずにメール送信ができますでしょうか。 又、できれば入力ページと確認ページのキャラセット等を変えずに、終了ページのコード変更だけで解決するにはどうすれば宜しいでしょうか。 宜しくお願い申し上げます。

    • 締切済み
    • PHP
  • mb_send_mail 文字化け iPhone

    お世話になっております。 標題の通り、mb_send_mail でメールを送信したいのですが、iPhonoの純正メーラーで差出人名が文字化けしてしまいます。 thunderbirdやブラウザのWebメール・Androidのメーラーでは問題なく日本語で表示されています。 PHPファイルは、UTF-8です。 ざっくりですが、以下のソースで実装しています。 $mail = "hogehoge@gmail.com"; $sub = "日本語のタイトル"; $body = "日本語の本文"; $head = "From:日本語の差出人名 <info@hoge.hoge>\n"; mb_language("Japanese"); mb_internal_encoding("UTF-8"); mb_send_mail($mail, $sub, $body,$head); iPhoneでも、差出人名以外の、タイトルや本文は文字化けしていません。 ネットで調べ、症状は少し違うのですが、mb_encode_mimeheader関数を使ってみたりしたのですが、症状は変わりませんでした。 iPhone側の設定の問題なのか、php側の問題なのか良く分かりませんでした。 どうぞ、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • UTF-8フォームをsend_mailすると文字化け PHP5

    PHP5を使用していますが、 UTF-8で作成したフォームに入力された2バイト文字(日本語)をsend_mailでメールすると、本文が文字化けしてしまいます。 下記URLなども参照したのですが、実際はどのようにしてよいのか分かりません。 URL: http://www.res-system.com/item/478 このURLでは、UTF-8の対処法として「mb_language関数、mb_internal_encoding関数を、 mb_send_mail関数の前に呼び出します。」 ■送信文字がUTF-8の時の呼び出し例 mb_language('Japanese'); mb_internal_encoding("UTF-8"); mb_send_mail('test@test.com', 'タイトル', '本文','From:aaa@aaa.com'); とありますが、これでよいのでしょうか? しかし、下記URLなどには、そもそもmb_send_mailは、使用しないようにと言われています。 URL: http://hain.jp/index.php/tech-j/2007/02/13/%EF%BC%B0%EF%BC%A8%EF%BC%B0%E3%81%AE%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91 私のphp.iniなどの現設定などもここに記載できれば良いのですが、どの部分が文字化けと関連しているのか良く分かりません(教えていただければ、追記します。)。 よろしくお願いします。 キャサリン

    • 締切済み
    • PHP
  • mb_send_mailでの文字化け

    PHPでメールフォームの設置中ですが、OutlookEXで受け取ったメール本文の一部が ?絅螢謄・κ(中略)? と,クエスチョンマークをはさんだ文字に化けてしまいました。 文字コードはEUCに統一し、 mb_internal_encoding("EUC"); mb_language("Japanese"); $from_name2 = i18n_mime_header_encode( i18n_convert($from_name, "JIS") ); を入れて、その後に、mb_send_mail();しています。 なにか解決のヒントがありませんでしょうか。 また、この文字化けしてしまった文字を復活する方法はないでしょうか。

    • 締切済み
    • PHP
  • mb_send_mailで、半角スペースが?になる

    お世話になります。 メールフォームを作っていますが、mb_send_mailでメールを送ると、半角スペースの部分が?になります。 例えば テスト テスト という文を送ると テスト?テスト になります。 コードは mb_language("ja"); mb_internal_encoding("UTF-8"); mb_send_mail($bcc,$subject,$message,"From: ".$from." \nReply-To: ".$email); みたいな感じです。 特別変なことはしてないですし、他の文字は文字化けしないので、原因がよくわかりません。 ファイルとmeta charsetはUTF-8で、試しに半角スペースを一度%20に変換してみましたがダメでした。 同じ$messageをブラウザに表示するとちゃんと半角スペースとして表示します。 他に確認すべき点などありましたらご教授ください。 よろしくお願い致します。

    • 締切済み
    • PHP
  • PHP関数mb_send_mailで送信すると件名が文字化けしてしまいます。

    PHP関数mb_send_mailでメールの送信しているのですが、件名だけが文字化けしてしまいます。 Windows2000Server+IIS ■PHPソース mb_send_mail($strMail,mb_convert_encoding("あいうえお","JIS","auto"),mb_convert_encoding("かきくけこ","JIS","auto"),$header); ■PHP.INI設定 extension=php_mbstring.dll SMTP = localhost smtp_port = 25 sendmail_from = sample@sample.jp mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; ■文字化けするSubject Subject: =?US-ASCII?B?GyRCJCIkJCQmJCgkKhsoQg==?= このPHPソースを別のレンタルサーバにいれ、送信すると文字化けせずに届きます。 なぜか、受信メールの文字コードがUS-ASCIIになっています。どうすればいいのでしょう? 誰かたすけてくださいーー

  • phpでmb_send_mailを用いてメールの送信を試みておりますが、うまくいきません

    phpでmb_send_mailを用いてメールの送信を試みておりますが、うまくいきません。 php.iniの現時点における設定は、以下の通りです。 [mail function] ; For Win32 only. ;SMTP = localhost ;smtp_port = 25 ; For Win32 only. ;sendmail_from = ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = "sendmail -t -i" mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; mbstring.func_overload = 0 ;mbstring.strict_encoding = Off なお、phpのスクリプトでは、mb_send_mail関数を呼ぶ直前に、  mb_language("ja");  mb_internal_encoding("utf-8"); を実行しております。 また、html部では、<meta…タグにおいて、charset=UTF-8の宣言を行い、 このhtml部を含むphpファイルは、文字コードUTF-8にて格納し直しました。 原因をいろいろ探ったのですが、自力では無理のようです。 原因と考えられる点をどうか教えて頂くようにお願い致します。

    • ベストアンサー
    • PHP
  • PHPでmb_send_mail()関数を使っときの件名について

    PHPでmb_send_mail()関数を使っときの件名について mb_send_mail()でメールの送信はできるのですが、件名(Subject)を日本語にすると8文字以上送信すると送信エラーが起こります。同じプログラムをLinuxでやるとうまくいきます。プログラムは以下のようにしています。(mail()関数を使うとこのような問題は起こりませんでした。) mb_language('Japanese'); $subject='メールテスト'; $subject=mb_convert_encoding($subject,'ISO-2022-JP','UTF-8'); $message='Webメールのテストです。'; $message=mb_convert_encoding($message,'ISO-2022-JP','UTF-8'); $head='私から送信されました。<****@****.net>'; $head=mb_convert_encoding($head, 'ISO-2022-JP', 'UTF-8'); $head=mb_encode_mimeHeader($head,'ISO-2022-JP','B'); if(mb_send_mail('****@****.com',$subject,$message,'From:'.$head)){ echo 'おくったよ。<br>'; } else{ echo 'おくれない。'; }  件名の全角での文字数を増やす方法があったら教えてください。  よろしくお願いいたします。 <システム環境>  Windows7(64Bit)  Apache2.2  PHP5.3.2

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • p950NWのバーコード読み込み印刷の設定条件がわからない場合、こちらの記事ではその詳細を解説しています。
  • Windows10を使用している場合、USBケーブル経由で接続する必要があります。
  • 関連するソフトはP-touch Editor 5.4ですが、電話回線の種類によっては接続条件が異なる場合があります。
回答を見る