php を使ったメール送信に関する関連記事はインターネット上にたくさんありますので、知らない方は参考にしてください。 メールクラス.php コードは以下のように表示されます: classCMailFile { var $subject; var $addr_to; var $text_body; var $text_encoded; var $mime_headers; var $mime_boundary = "--==================_846811060==_"; var $smtp_headers; function CMailFile($subject,$to,$from,$msg,$filename,$downfilename,$mimetype = "application/octet-stream",$mime_filename = false) { $this->subject = $subject; $this->addr_to = $to; $this->smtp_headers = $this->write_smtpheaders($from); $this->text_body = $this->write_body($msg); $this->text_encoded = $this->attach_file($filename,$downfilename,$mimetype,$mime_filename); $this->mime_headers = $this->write_mimeheaders($filename, $mime_filename); } functionattach_file($filename,$downfilename,$mimetype,$mime_filename) { $encoded = $this->encode_file($filename); if ($mime_filename) $filename = $mime_filename; $out = "--" . $this->mime_boundary 。 $out = $out . "コンテンツタイプ: " . $mimetype "; name="$filename";n"; $out = $out . "コンテンツ転送エンコーディング:base64n"; $out = $out . "コンテンツの性質: 添付ファイル; ファイル名="$downfilename"nn"; $out = $out . "n"; $out = $out . $this->mime_boundary 。 $out を返します。 } 関数 encode_file($sourcefile) { if (is_readable($sourcefile)) { $fd = fopen($sourcefile, "r"); $contents = fread($fd, ファイルサイズ($sourcefile)); $encoded = chunk_split(base64_encode($contents)); fclose($fd); } $encoded を返します。 } 関数 sendfile() { $headers = $this->smtp_headers 。 $message = $this->text_body . $this->text_encoded; mail($this->addr_to,$this->件名,$message,$headers); } 関数 write_body($msgtext) { $out = "--" . $this->mime_boundary 。 $out = $out . "コンテンツタイプ: text/plain; charset="us-ascii"nn"; $out = $out . "n"; $out を返します。 } function write_mimeheaders($filename, $mime_filename) { if ($mime_filename) $filename = $mime_filename; $out = "MIME バージョン: 1.0n"; $out = $out . "コンテンツタイプ: multipart/mixed; "; $out = $out . "boundary="$this->mime_boundary"n"; $out = $out . "コンテンツ転送エンコーディング: 7BITn"; $out = $out . "X 添付ファイル: $filename;nn"; $out を返します。 } 関数 write_smtpheaders($addr_from) { $out = "差出人: $addr_fromn"; $out = $out . "返信先: $addr_fromn"; $out = $out . "X-メーラー: PHP3n"; $out = $out . "X 送信者: $addr_fromn"; $out を返します。 } } /*使用法 - 例: mimetype は「image/gif」です $mailfile = new CMailFile($subject,$sendto,$replyto,$message,$filename,$mimetype); $mailfile->sendfile(); $subject -- 件名 $sendto -- 受信者のアドレス $replyto -- 返信アドレス $message -- メッセージの内容 $filename -- 添付ファイル名 $downfilename -- ダウンロードされたファイル名 $mimetype -- MIME タイプ */ ?> デモ コードをコピーする コードは次のとおりです。 sendfile(); ?>