0
$semi_rand = md5(time()); 
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 

    // headers for attachment 
    $headers = "From: $from";
    $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; 

    // multipart boundary 
    $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . strip_tags($content) . "\n\n"; 
    $message .= "--{$mime_boundary}\n";

    // preparing attachments
    for($x=0;$x<2;$x++)
    {
        $data = chunk_split($att[$x]);
        $message .= "Content-Type: {\"application/pdf\"};\n" . " name=\"$name[$x]\"\n" . 
        "Content-Disposition: attachment;\n" . " filename=\"$name[$x]\"\n" . 
        "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
        $message .= "--{$mime_boundary}\n";
4

1 に答える 1

0

IMO 解決策は、コードを修正することではありません。

私のアドバイスは、SwiftMailer や PHPMailer など、既に PHP で利用できる多数の非常に優れた電子メール ライブラリの 1 つを使用することです。電子メールのエンコードは、さまざまな電子メール クライアント/サイトのすべてのニュアンスのため、非常にトリッキーな作業であり、これらのライブラリは、ほぼすべてのライブラリですでに徹底的にテストされています。既存のライブラリには、送信先で電子メールがスパムとしてマークされる可能性を減らすのに役立つ機能も含まれています。

于 2013-09-20T02:36:37.677 に答える