2009-07-14 15 views
17

PHPMailerを使用してプレーンテキストのメールを送信する際に問題があります。PHPMailerを使用してプレーンテキストのメールを送信

私は、受信者が実際の電子メールを取得すると、メールのフォーマットはテキストファイルのようではない、すべてがである私は、テキストファイルから読み込まれたテキストを持っているとphpmailerの

経由でメールの受信者にメール私が送る電子メールには新しい行とタブは含まれていません。テキストの折り返しは完全に無効です。

コード:

 $mail->ContentType = 'text/plain'; 
     $mail->IsHTML(false); 
     $address = "[email protected]"; 
     $mail->AddAddress($address, "John Doe"); 

     $mail->SetFrom(EMAIL_TEST_FROM); 

     $mail->AddReplyTo(EMAIL_TEST_REPLY); 



     $mail->Subject = $action." REGISTRATION ".$formName.$tld; 
     $mail->From = EMAIL_TEST; 

     $mail->MsgHTML(file_get_contents($newFile)); 


     if($mail->Send()){ 
      return true; 
     } 
+0

それは、ドメイン登録ファイルは、WHOISです。問題は分類されています。 Thx James – Roland

+0

'if($ mail-> Send())'部分を '$ mail-> Send();'を返すように単純化することができます。 – Melebius

答えて

23

あなたは、プレーンテキストメッセージに$mail->MsgHTML()を設定している、と空白の書式をHTMLに無視されているので、あなたはインラインテキストを取得しています。

私はしばらくの間、phpmailerのを使用していない

が、メモリの試みから:正常に動作しますコードの下

$mail->Body = file_get_contents($newFile); 
10
$mail->ContentType = 'text/plain'; 
    $mail->IsHTML(false); 
    $address = "[email protected]"; 
    $mail->AddAddress($address, "John Doe"); 

    $mail->SetFrom(EMAIL_TEST_FROM); 

    $mail->AddReplyTo(EMAIL_TEST_REPLY); 



    $mail->Subject = $action." REGISTRATION ".$formName.$tld; 
    $mail->From = EMAIL_TEST; 

    // Very important: don't have lines for MsgHTML and AltBody 
    $mail->Body = file_get_contents($mailBodyTextFile); 
    // $mail->Body = $_POST["msg"]; //If using web mail form, use this line instead. 


    if($mail->Send()){ 
     return true; 
    } 
+1

+1は、除外する行の説明と、テキストのみをトリガーするために含めるものを示します。 – squarecandy

0

試してみてください。

 try { 
      $mail->AddAddress('[email protected]', 'Jit Pal'); 
      $mail->SetFrom('[email protected]', 'Test User'); 
      $mail->Subject = "All machine's tests."; 
      $mail->Body = "All machine's tests working fine."; 
      $mail->Send(); 
      echo "<br/>Message sent successfully...<br/><br/>\n"; 
     } catch (phpmailerException $e) { 
      echo $e->errorMessage(); 
     } catch (Exception $e) { 
      echo $e->getMessage(); 
     } 
関連する問題