2012-02-10 15 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); 

w tym przypadku $ filePath jest ścieżka tmp których używam, kiedy użytkownik przykłada plików z formularza i $ nazwa_pliku to nazwa pliku tmp $ _FILES [ „plik”] [ 'Nazwa'].Swiftmailer maile wchodzić SPAM folderu

W tej konfiguracji mogę wysyłać wiadomości e-mail, ale gdy jest załącznik, wiadomość trafia do folderu SPAM. Jeśli nie ma załącznika, poczta trafia do skrzynki odbiorczej.

Ta konfiguracja działa doskonale, gdy przesyłam plik z lokalizacji i nie wysyłam załącznika z formularza.

Myślę, że ma to coś wspólnego z nagłówkami wiadomości e-mail, ale nie jestem w stanie znaleźć błędu.

Czy ktoś może mi pomóc z tym, co robię tutaj.

Got to praca przez nagłówków modyfikujących do

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

Odpowiedz

6

Dodaj następujące nagłówki aby uniknąć dzieje w folderze spamu:

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

dzięki za pomoc ... nawet po dodaniu powyższego kodu, wiadomości trafiają do spamu. – user434509

+0

Nie jestem pewien, co to jest problem, to działało dla mnie, może zależeć od filtru spamu serwera ... trudno powiedzieć, jaki jest problem. –

+1

Mam to działa, modyfikując nagłówki dalej – user434509

3

W wersjach SwiftMailer w 2015 roku, należy użyć wbudowanej getHeaders() metoda ustawiania nagłówków.

$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

Z [doc] (http://swiftmailer.org/docs/headers.html#adding-new-headers) nie trzeba zwracać przez ref ('= &'). – IROEGBU

Powiązane problemy