2009-07-14 48 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

這是一個域名註冊文件,域名註冊。 co.za,但問題已經排序。 Thx James – Roland 2009-07-14 07:57:57

+0

您可以將`if($ mail-> Send())`部分簡化爲`return $ mail-> Send();`。 – Melebius 2014-06-28 09:55:02

回答

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; 
    } 
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(); 
     } 
相關問題