1

添付ファイル付きのメールを送信するための次のコードがありますが、1つではなく2つの添付ファイルを送信するように調整するのに問題があります。.docxと.pdfを送信する必要があります

何を変更すればよいかについてのアイデアはありますか?

    function mail_attachment($filename1, $path, $mailto, $from_mail, $from_name, $replyto, $subject, $message) {
        $file = $path.$filename;
        $file_size = filesize($file);
        $handle = fopen($file, "r");
        $content = fread($handle, $file_size);
        fclose($handle);
        $content = chunk_split(base64_encode($content));
        $uid = md5(uniqid(time()));
        $name = basename($file);
        $header = "From: ".$from_name." <".$from_mail.">\r\n";
        $header .= "Reply-To: ".$replyto."\r\n";
        $header .= "MIME-Version: 1.0\r\n";
        $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
        $header .= "This is a multi-part message in MIME format.\r\n";
        $header .= "--".$uid."\r\n";
        $header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
        $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
        $header .= $message."\r\n\r\n";
        $header .= "Content-Type: application/msword; name=\"".$filename."\"\r\n"; // use different content types here
        $header .= "Content-Transfer-Encoding: base64\r\n";
        $header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
        $header .= $content."\r\n\r\n";
        mail($mailto, $subject, "", $header);  
    }

そして、これは私がそれを呼ぶ方法です。

    mail_attachment("attachment.docx", "","recipient@mail.com","admin@mail.com","Admin","admin@mail.com","Subject","Mail body");
4

1 に答える 1

3

PHPMailer を使用することをお勧めします。これは、使いやすく、すべての作業を行う安定したライブラリです。http://code.google.com/a/apache-extras.org/p/phpmailer/

$mail = new PHPMailer();
$mail->IsMail();

$mail->AddAddress("email@example.com");
$mail->Subject = "Test 1";
$mail->Body = "Test 1 of PHPMailer.";

1 つの文字列で添付ファイルを追加できます。

$mail->AddAttachment('/home/mywebsite/public_html/file1.zip', 'file1.zip');
$mail->AddAttachment('/home/mywebsite/public_html/file2.zip', 'file2.zip');

より簡単で柔軟です。サルの仕事をしないでください。それはすでにあなたのために行われています!
プログラマーは怠け者でなければなりません!より少ないコードを入力してください)

于 2012-10-23T15:09:54.867 に答える