Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Swiftmailer mails go into SPAM Folder

$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);

In this case $filepath is the tmp path which I am using when a user attaches a files from a form and $file_name is the tmp file name $_FILES['file']['name'].

In this setup I am able to send mails but when there is an attachment, the mail goes into SPAM folder. If there is no attachment then mail goes into inbox.

This setup works perfectly fine when I am uploading a file from a location and not sending the attachment from a form.

I think it has got something to do with the email headers, but i am not able to figure out the error.

Can some one please help me with what mistake I am doing here.

Got it working by modifying headers to

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
like image 434
user434509 Avatar asked Feb 10 '12 20:02

user434509


1 Answers

Add the following headers to avoid going to spam folder:

$headers .= "Message-ID: <".time()." TheSystem@".$_SERVER['SERVER_NAME'].">\r\n";
$headers .= "X-Mailer: PHP v".phpversion()."\r\n";         
like image 114
Luc Laverdure Avatar answered Sep 17 '22 16:09

Luc Laverdure