こんにちは、ファイルを収集する単純なフォームがあります。つまり、ユーザーはファイルをフィールドに入れ、フォームを送信することで、事前に定義されハードコードされたアドレスにメールが送信される必要があるということです。
ここに私のフォームがあります:
<form action='/?page=admin-send' method='post' class='asholder' enctype=\"multipart/form-data\">\n";
<input type='file' name='file' id ='file'/><button name='accept' value='".$ssl->id."' type='submit'>Send</button>
</form>
そして今、Php
私はこのファイルを集めて電子メールの添付ファイルに入れたいと思っています。
$file = $_FILES["file"]["name"];
$filename = basename($file);
$file_size = filesize($file);
$content = chunk_split(base64_encode(file_get_contents($file)));
$uid = md5(uniqid(time()));
$msg = "Hello, this is email with attachment!";
$mail = new HTMLMail();
$mail->from = 'DO NOT REPLY';
$mail->to = 'tstmail@testhost.com';
$mail->subject = 'admin warrning';
$mail->importance = 'Low';
$mail->body = "<P><FONT SIZE=2 FACE=\"Tahoma\">$msg</FONT></P>";
$mail->headers = "From: ".$from."\r\n"
."MIME-Version: 1.0\r\n"
."Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n"
."This is a multi-part message in MIME format.\r\n"
."--".$uid."\r\n"
."Content-Type: application/octet-stream; name=\"".$filename."\"\r\n"
."Content-Transfer-Encoding: base64\r\n"
."Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n"
.$content."\r\n\r\n"
."--".$uid."--";
$mail->send();
そして、これが私が問題を抱えているシナリオですxyz.pdf
。最も重要なことは、このドキュメントが問題ないということです。フォームを送信すると、メールが届きます。メールには という名前の添付ファイルxyz.pdf
がありますが、このファイルを開こうとすると、ファイルが破損しているというメッセージが表示されます。
誰かが私が間違っていることを指摘できますか?