2009-07-14 67 views
17

Tôi gặp sự cố khi gửi email văn bản thuần túy bằng PHPMailer.Gửi email văn bản thuần túy bằng PHPMailer

Tôi có văn bản mà tôi đọc từ một tập tin văn bản và gửi nó để gửi nhận qua PHPMailer

Khi người nhận được email thực tế, các định dạng của thư không giống như trong file văn bản, mọi thứ đều ở một dòng, không có dòng và tab mới nào được bao gồm trong email mà tôi gửi. Gói văn bản hoàn toàn tắt.

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

Đó là một hồ sơ đăng ký tên miền, whois. co.za, nhưng vấn đề đã được sắp xếp. Thx James – Roland

+0

Bạn có thể đơn giản hóa phần 'if ($ mail-> Send())' thành 'return $ mail-> Send();'. – Melebius

Trả lời

23

Bạn đang thiết $mail->MsgHTML() một tin nhắn văn bản đơn giản, và kể từ khi định dạng khoảng trắng bị bỏ qua trong HTML, bạn đang nhận được một văn bản nội tuyến.

tôi đã không sử dụng PHPMailer một thời gian, nhưng từ bộ nhớ thử:

$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 để giải thích những dòng nào cần loại trừ cũng như những gì cần đưa vào để kích hoạt chỉ văn bản. – squarecandy

0

Hãy thử bên dưới mã mà hoạt động tốt:

 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(); 
     } 
Các vấn đề liên quan