写真画像などを添付して送信する仕組み。
$to=$data['shop_email'];
$subject="サブジェクト";
$from="From:".mb_encode_mimeheader("名前")."<".メールアドレス.">";
$plain_message=$this->make_text_profile($data);
//必要に応じて適宜文字コードを設定。
mb_language('Ja');
mb_internal_encoding('UTF-8');
$body = "";
// 添付ファイルがないとき
if(empty($_FILES['file'])) {
$headers = $from;
$body .= "\n{$plain_message}\n";
// 添付ファイルがあるとき
} else {
$attach_mime_type=$_FILES['file']['type'];
$filebase=$_FILES['file']['name'];
$img_data = chunk_split(base64_encode($_FILES['file']['tmp_name']));
$boundary = '__BOUNDARY__'.md5(rand());
$headers = "Content-Type: multipart/mixed;boundary=\"{$boundary}\"\n";
$headers .= $from;
$body = "--{$boundary}\n";
$body .= "Content-Type: text/plain; charset=\"ISO-2022-JP\"\n";
$body .= "\n{$plain_message}\n";
$body .= "--{$boundary}\n";
$body .= "Content-Type: {$attach_mime_type}; name=\"{$filebase}\"\n";
$body .= "Content-Disposition: attachment; filename=\"{$filebase}\"\n";
$body .= "Content-Transfer-Encoding: base64\n";
$body .= "\n";
$body .= $img_data."\n";
$body .= "--{$boundary}--";
}
// カレントの言語を日本語に設定する
mb_language("ja");
// 内部文字エンコードを設定する
mb_internal_encoding("UTF-8");
// メール送信
mb_send_mail($to, $subject, $body, $headers);