2017-03-01 14 views
0

誰も私がこれに間違っていた場所を教えてもらえますか?私は、データベース内のブロブから電子メールに添付ファイルを追加しています。私はこの上のヘッダーが間違ってフォーマットされていると仮定しているが、これで一日中過ごしているし、まだ傾けることができます!電子メールのヘッダー形式(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の使用を2番目にして、あなた自身のヘッダーを手作業ではないように助言します。 – brandon927

+0

このシナリオでは不可能なことですが、私はwp_mail(Wordpress mailer)を使用することに制限されており、添付ファイルとしてBLOBを追加する機能はありません。それは添付ファイルを行うことができます....しかし、私は添付ファイルの前にブロブをファイルにするためのプラットフォーム上の権利を持っていません。 –

答えて

0

あなたの最後のボディラインは、次のようでなければなりませんので、あなたは、2つのhypesとの最後の境界を閉じる必要があります:

$body .= '--'.$mime_boundary.'--\n'; 
関連する問題