2012-02-10 28 views
5
$headers = "\r\n" . "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 

$message = Swift_Message::newInstance() 
       ->setSubject($subject) 
       ->setFrom(array('[email protected]' => 'From Address')) 
       ->setTo(array('[email protected]' => 'To Address')) 
       ->setBody($message_plain_txt) 
       ->addPart($message, 'text/html') 
     ; 
if ($file_name) 
     { 
      $message->attach(Swift_Attachment::fromPath($file_path)); 
     } 

$result = $mailer->send($message); 

Trong trường hợp này $ filepath là đường dẫn tmp mà tôi đang sử dụng khi người dùng đính kèm tệp từ biểu mẫu và $ file_name là tên tệp tmp $ _FILES ['file'] [ 'Tên'].Thư Swiftmailer được chuyển vào Thư mục SPAM

Trong thiết lập này, tôi có thể gửi thư nhưng khi có tệp đính kèm, thư sẽ đi vào thư mục SPAM. Nếu không có tệp đính kèm thì thư sẽ chuyển vào hộp thư đến.

Thiết lập này hoạt động hoàn toàn tốt khi tôi tải lên tệp từ một vị trí và không gửi tệp đính kèm từ biểu mẫu.

Tôi nghĩ rằng nó đã có một cái gì đó để làm với các tiêu đề email, nhưng tôi không thể tìm ra lỗi.

Một số người có thể giúp tôi với những sai lầm mà tôi đang làm ở đây.

Got nó làm việc bằng cách tiêu đề sửa đổi để

$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type: text/plain; charset=iso-8859-1\n"; 

Trả lời

6

Thêm các tiêu đề sau đây để tránh đi vào thư mục thư rác:

$headers .= "Message-ID: <".time()." [email protected]".$_SERVER['SERVER_NAME'].">\r\n"; 
$headers .= "X-Mailer: PHP v".phpversion()."\r\n";   
+0

cảm ơn sự giúp đỡ của bạn ... ngay cả khi thêm mã ở trên, thư sẽ bị chuyển vào spam. – user434509

+0

Tôi không chắc vấn đề này là gì, điều này có tác dụng với tôi, nó có thể phụ thuộc vào máy chủ spamfilter ... khó có thể nói được vấn đề là gì. –

+1

Tôi đã làm việc này bằng cách sửa đổi tiêu đề hơn nữa – user434509

3

Trong các phiên bản của SwiftMailer vào năm 2015, bạn sẽ sử dụng built-in getHeaders() để đặt tiêu đề.

$headers =& $message->getHeaders(); 
$headers->addIdHeader('Message-ID', "[email protected]"); 
$headers->addTextHeader('MIME-Version', '1.0'); 
$headers->addTextHeader('X-Mailer', 'PHP v' . phpversion()); 
$headers->addParameterizedHeader('Content-type', 'text/html', ['charset' => 'utf-8']); 
+1

Từ [doc] (http://swiftmailer.org/docs/headers.html#adding-new-headers), bạn không cần phải trả về bởi ref ('= &'). – IROEGBU

Các vấn đề liên quan