2009-07-14 16 views
17

Ich habe ein Problem beim Senden von Nur-Text-E-Mails mit PHPMailer.Senden von Nur-Text-E-Mails mit PHPMailer

I Text, die ich aus einer Textdatei lesen und senden Sie es Empfänger über PHPMailer

Wenn der Empfänger erhält die tatsächliche E-Mail, die Formatierung der E-Mail ist nicht wie in der Textdatei zu verschicken, ist alles in Eine Zeile, keine neuen Zeilen und Tabs sind in der E-Mail enthalten, die ich sende. Die Textumhüllung ist vollständig deaktiviert.

Code:

 $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

Es ist eine Domain-Registrierungsdatei, whois. co.za, aber das Problem wurde sortiert. Thx James – Roland

+0

Sie können den 'if ($ mail-> Send())' Teil zu 'return $ mail-> Send();' vereinfachen. – Melebius

Antwort

23

Du $mail->MsgHTML() auf eine Klartextnachricht setzen und da Leerzeichen Formatierung in HTML ignoriert wird, sind Sie ein Inline-Text bekommen.

Ich habe nicht PHPMailer für eine Weile verwendet, aber aus dem Gedächtnis try:

$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 für die Erläuterung, welche Zeilen ausgeschlossen werden sollen und was eingeschlossen werden soll, um nur Text auszulösen. – squarecandy

0

Versuchen unter Code, der gut arbeitet:

 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(); 
     } 
Verwandte Themen