2011-12-20 7 views
0

私の電子メールテンプレートのテキスト版をテストするための方法です。私の電子メールアカウントはすべてHTMLを表示するので、テキストバージョンが正しく表示されるようにする必要があります。PHPのHTMLとテキストのメール、強制的にテキストのバージョン

$mime_boundary = 'Multipart_Boundary_x'.md5(time()).'x';   
    $headers = "MIME-Version: 1.0" . "\r\n"; 
    $headers.= "Content-Type: multipart/alternative; boundary=" .$mime_boundary. "\r\n"; 
    $headers.= "Content-Type: text/html; charset=UTF-8" . "\r\n"; 
    $headers.= "Content-Transfer-Encoding: 7bit" . "\r\n"; 

    $text_content = file_get_contents('emails/welcome_txt.tpl'); 
    $html_content = file_get_contents('emails/welcome.tpl'); 

    $body = "--{$mime_boundary}--\n"; 
    $body.= "Content-Type: text/plain; charset=charset=us-ascii\n"; 
    $body.= "Content-Transfer-Encoding: 7bit\n\n"; 
    $body.= $text_content; 
    $body.= "\n\n"; 
    $body.= "--{$mime_boundary}--\n"; 

    $body.= "--{$mime_boundary}--\n"; 
    $body.= "Content-Type: text/html; charset=iso-8859-\n"; 
    $body.= "Content-Transfer-Encoding: 7bit\n\n"; 
    $body.= $html_content; 
    $body.= "\n\n"; 
    $body.= "--{$mime_boundary}\n"; 

    $body = str_replace("{Username}",$en['user'],$html_content); 
    mail($en['email'], $subject, $body, $headers, '-f' . $returnpath); 
+0

は、あなただけのどこ$本体部分をコメントアウトしませんでした。境界線があり、htmlテキストが含まれていますか?もう1つの方法は、電子メールクライアントを設定し、htmlではなくテキストのみを受信するように指定することです。 –

+0

FYI、http://litmus.com/email-previewsには、多くのクライアントに見られるメールのプレビューが表示されます。私はあなたがそれが便利であるかもしれないと思った。 – SuitedSloth

+0

@TimWithers私はそれについて考えましたが、エラーやハックアップがないことを確認するための完全なプロセスを見たいと思っています。 – acctman

答えて

2

コードを変更せずにこれを行う簡単な方法は、電子メールクライアントで元の電子メールを表示することです。

たとえば、Gmailのとあなたは、右上の矢印(次は、返信する)に移動し、選択することができますが、「メッセージテキスト文字化け」または「オリジナルを表示」

関連する問題