2017-03-02 6 views
0

どうすればよいですか? Basicly私は以下のコードを持っている、と$ PDFは、すべてのヘルプが理解されるであろうwp_mail添付ファイルとしてエンコードされた文字列を含むメールを送信

add_action('wp_ajax_email_portfolio', 'ajax_email_portfolio'); 

function ajax_email_portfolio() 
{ 

    check_ajax_referer('ajax-email-portfolio', 'security'); 
    $pdf = $_POST['pdf']; 
    $email_address = $_POST['email_address']; 


    #NOTIFY USER 
    $subject = 'Portfolio from somewhere'; 
    $headers = 'From: Someone <[email protected]>'; 
    $email_body = 'Portfolio from Someone'; 
    $destination_email = $email_address; 

    wp_mail($destination_email, $subject, $email_body, $headers); 

    echo json_encode(array('success' => true,'pdf'=> $pdf,'email_address'=>$email_address)); 

    die(); 
} 

pdfファイルのbase64でエンコードされた文字列です!

+0

あなたの 'add_action'関数は何をしていますか? – wahwahwah

+0

@wahwahwahそれは、 – kwokkaki

+0

ちょうどあなたが合併症なしでやる方法をあなたのhtmlパケットを(ヘッダー付きで)ビルドします。*もし*エンコーディング*が問題であれば、私はあなたの質問を変更する必要があると思う、 – wahwahwah

答えて

0

ここは私のコードですが、gmailでうまく動作しますが、outlookに送信すると、 `$ current_user = wp_get_current_user();が出力されます。

$pdf = $_POST['pdf']; 
$email_address = $_POST['email_address']; 
$eol = PHP_EOL; 
$uid = md5(uniqid(time())); 
$destination_email = $email_address; 
$attachment_content = chunk_split($pdf); 
$filename = "portfolio.pdf"; 
#NOTIFY USER 
$subject = 'Portfolio from xxxxxx'; 
$headers = 'From: '. $current_user->user_firstname . ' <' . $current_user->user_email . '> '. $eol; 
$headers .= "MIME-Version: 1.0".$eol; 
$headers .= "Content-Type: multipart/mixed; boundary=\"".$uid."\""; 
$email_body = "--".$uid.$eol; 
$email_body .= "Content-Transfer-Encoding: 7bit".$eol; 
$email_body .= "Portfolio from xxxxxx".$eol; 
// attachment 
$email_body .= "--".$uid.$eol; 
$email_body .= "Content-Type: application/octet-stream; name=\"".$filename."\"".$eol; 
$email_body .= "Content-Transfer-Encoding: base64".$eol; 
$email_body .= "Content-Disposition: attachment".$eol; 
$email_body .= $attachment_content.$eol; 
$email_body .= "--".$uid."--"; 


wp_mail($destination_email, $subject, $email_body, $headers);` 
関連する問題