IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
PHPで日本語メールを送る - 基本編に引き続き、 今回は応用編をお送りします。 基本編で解説したmb_send_mailを使えば シンプルなメールを送るには十分な機能がありますが、 それ以上に複雑なこと、例えばHTMLメールや添付ファイルを 使ったメールにはmb_send_mailは使えません。 mail関数を使ってヘッダにガリガリとメールの仕様に そって書けば送れるのですが、それではあまりに 大変なので、ライブラリを使います。 ライブラリを使った日本語メール送信 PHPで複雑なメールを送るのに使えるスタンダードな ライブラリとしては、PEAR::MailとPHPMailerが有名です。 (ただし、両ライブラリとも日本語メールには対応していないので、 そのままでは文字化けしてしまいます) PEAR::MailはPHPの公式ライブラリのPEARで採用されていますし、 PHPMailerもX
yamaokaです。 PHPで日本語を扱う場合、mbstringモジュールを利用する場合が多いと思います。 日本語に特有の機能(カタカナの全角/半角変換など)も備わっていて、とても便利です。 しかし、日本以外ではmbstringモジュールはあまり利用されていないようです。 代わりに利用されているのがiconvモジュールで、 最近話題のフレームワーク、symfonyでも 国際化の機能を実現するために内部で利用されています。 iconvモジュールはPHP 5でPHPの本体に組み込まれました。 別途用意して組み込む必要があるmbstringモジュールと違って、最初から使用できるので便利ですね。 PHPのマニュアルのiconv関数のページを見ると、 いくつかの関数が定義されているのがわかります。 それぞれ、mbstring関数との 対応表を作ってみました。 iconv関数mbstring関数
PHPのmb_encode_mimeheaderは事前にmb_internal_encodingが必要 2006-03-11 PHPのmb_encode_mimeheader関数で文字列をエンコードするときは、直前にmb_internal_encoding関数で変換したい文字列のエンコーディングをセットしてから呼ばないとうまく動作しないもよう。エンコードした文字列の後ろのほうが化け化けになってしまう。例えば「ご登録いただきありがとうございます」が「ご登録いただきありがH$&$4$6$$$^$9」というふうに。 回避例として、以下のように書く。 // 元のエンコーディングを保存 $orgEncoding = mb_internal_encoding(); // 変換したい文字列のエンコーディングをセット mb_internal_encoding($targetEncoding); // エン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く