1

こんにちは、ファイルを収集する単純なフォームがあります。つまり、ユーザーはファイルをフィールドに入れ、フォームを送信することで、事前に定義されハードコードされたアドレスにメールが送信される必要があるということです。

ここに私のフォームがあります:

<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がありますが、このファイルを開こうとすると、ファイルが破損しているというメッセージが表示されます。

誰かが私が間違っていることを指摘できますか?

4

1 に答える 1