- PHP
- 2008-03-15 - 更新:2020-10-19
この記事は最終更新日から1年以上経過しています。
PHPのmail関数でファイルを添付してメールを送信するスクリプト
//=========================================== // 設定 //=========================================== //{ $filename = ファイル名; $name = @explode("/", $filename); $name = $name[count($name) - 1]; $from = "example@mail.co.jp"; $to = "example@mail.co.jp"; //}
//=========================================== // メール送信実行 //=========================================== //{ $subject = "=?ISO-2022-JP?B?".base64_encode("メール件名")."?="; $boundary = md5(uniqid(rand())); //バウンダリー文字(パートの境界) $upfile_type = "multipart/mixed"; $header = "From: $from\n"; $header .= "Reply-To: $from\n"; $header .= "X-Mailer: PHP/".phpversion()."\n"; $header .= "MIME-version: 1.0\n"; $header .= "Content-Type: multipart/mixed;\n"; $header .= "\tboundary=\"$boundary\"\n"; $msg = ""; $msg .= "This is a multi-part message in MIME format.\n\n"; $msg .= "--$boundary\n"; $msg .= "Content-Type: text/plain; charset=iso-2022-jp\n"; $msg .= "Content-Transfer-Encoding: 7bit\n\n"; if(file_exists($filename)) { $fp = fopen($filename, "r") or die("error"); //ファイルの読み込み $contents = fread($fp, filesize($filename)); fclose($fp); $f_encoded = chunk_split(base64_encode($contents)); //エンコードして分割 $msg .= "\n\n--$boundary\n"; $msg .= "Content-Type: " . $upfile_type . ";\n"; $msg .= "\tname=\"$name\"\n"; $msg .= "Content-Transfer-Encoding: base64\n"; $msg .= "Content-Disposition: attachment;\n"; $msg .= "\tfilename=\"$name\"\n\n"; $msg .= "$f_encoded\n"; $msg .= "--$boundary--"; } //ファイル添付に対応 mail($to, $subject, $msg, $header); //}
1,574 views