2017-03-01 132 views
0

任何人都可以告訴我在哪裏出錯了嗎?我正在從數據庫中的blob向電子郵件添加附件。我假設這個標題格式不正確,但已經花了整整一天的時間,但仍然無法讓它工作!電子郵件標題格式(PHP)

$semi_rand = md5(time()); 
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 
$headers2 = array(
'From: ' . $fromName . ' < ' . $fromEmail . ' > ', 
'BCC: [email protected]', 
'MIME-Version: 1.0', 
'Content-Type: multipart/mixed;', 
'boundary='.$mime_boundary, 
); 
// multipart boundary 
$body = '--'.$mime_boundary.'\n' ; 
$body .= 'Content-Type: text/html; charset=\"iso-8859-1\"\n'; 
$body .= $message ; 
$body .= '--'.$mime_boundary.'\n'; 

// preparing attachments 
    global $wpdb; 
    $data = $wpdb->get_var("SELECT documentblob FROM quote"); 
    $data = chunk_split(base64_encode($data)); 

    $fname1='quotation.pdf'; 

$body .= 'Content-Type: {"application/octet-stream"};\n'; 
$body .= 'name="'.$fname1.'"\n'. 
$body .= 'Content-Disposition: attachment;\n'; 
$body .= 'filename="'.$fname1.'"\n'; 
$body .= 'Content-Transfer-Encoding: base64\n\n'; 
$body .= $data . '\n\n'; 
$body .= '--'.$mime_boundary.'\n'; 

wp_mail($to, $subject, $body, $headers2); 
+2

手卷您的電子郵件可能是一個巨大的錯誤。儘量使用像[PHPMailer](https://github.com/PHPMailer/PHPMailer)這樣的庫。 – tadman

+0

這裏第二次使用PHPMailer並建議你不要手動炸彈自己的頭文件。 – brandon927

+0

這只是在這種情況下不可能的,我被限制使用wp_mail(WordPress的郵件程序),並沒有能力添加一個blob作爲附件。它可以做附件....但我沒有平臺上的權利,在連接之前將blob變成文件。 –

回答

0

您應該關閉與兩個炒作的最後邊界,所以你最後的車身線條應該是以下幾點:

$body .= '--'.$mime_boundary.'--\n';