PHPでメール送信

(2/2)

mb_send_mail の第4引数

関数  mb_send_mail  では送信元を指定することもできる。第4 引数に
mb_send_mail($MailTo, $subject, $message, "From: hogehoge@pahoo.org");
のように追加ヘッダ情報として与えてやればよい。
その他、第4 引数は下記のようにして使う。
space
CC を指定する。
Cc: cchoge@pahoo.org.com
複数の CC を指定する。
Cc: a@pahoo.org.com,b@pahoo.org,c@pahoo.org
BCC を指定する
Bcc: bcchoge@example.com
From, CC, BCC を同時に指定する。
From: hogehoge@pahoo.org\nCc: cchoge@pahoo.org.com\nBcc: bcchoge@example.com
From の表示名を日本語で指定する。
"From: " . mb_encode_mimeheader('ホゲぱふぅ') . '<hoge@pahoo.org>';

サンプル・プログラムの解説:本文の整形

受信者が読みやすいように、本文は 80 桁(半角換算)で折り返すようにした。これを行うのがユーザー定義関数 puts_format である。この関数の中で、折り返すと同時に EUC-JP への変換も行っている。

0020: /**
0021:  * 文字列を整形して返す(1行分)
0022:  * @param string $str  追加する文字列(SJIS,EUC-JP,UTF-8)
0023:  * @param int $width   折り返す桁数(半角1文字を1桁とする、0なら折り返さない)
0024:  * @return string 整形後の文字列(EUC-JP、最後に改行文字を付加)
0025: */
0026: function puts_format($str$width) {
0027:     mb_internal_encoding('EUC-JP');
0028:     $str = mb_convert_encoding($str, 'EUC-JP', 'SJIS,EUC-JP,UTF-8');
0029: 
0030:     //折り返さない
0031:     if ($width <= 0) {
0032:         $dest = $str . "\n";
0033:     //折り返す
0034:     } else {
0035:         $dest = '';
0036:         $w = 0;
0037:         $l = mb_strlen($str);
0038:         for ($i = 0$i < $l$i++) {
0039:             $ch = mb_substr($str$i, 1, 'EUC-JP');       //文字コード変換
0040:             $dest = $dest . $ch;
0041:             if ($ch == "\n")   $w = 0;      //改行なら桁数リセット
0042:             else                $w += mb_strwidth($ch);
0043:             if ($w > $width) {
0044:                 $w = 0;
0045:                 $dest = $dest . "\n";
0046:             }
0047:         }
0048:         $dest = $dest . "\n";
0049:     }
0050:     return $dest;
0051: }

参考サイト

参考書籍

(この項おわり)
header