Soroush Khosravi
Soroush Khosravi

Reputation: 917

Sent mail going to spam folder?

I searched this topic but there wasn't anything useful for me.

CODE:

public function sendActivation($name, $user, $pass, $activationKey)
{
    $to = $user;
    $subject = 'Account Activation';
    $headers = "From: [email protected]\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
    $message = "<div id='mail' style='height: auto; width: 500px;background-color: #DDDDDD; font-family: Tahoma, Arial, sans-serif;'>
    <p>Hello dear $name and thanks for your choise!</p>
    <p>Your details:</p>
    <p>Username: $user</p>
    <p>Password: $pass</p>
    <p><br /></p>
    <p>Here there is an activation link. Please click on it to activate your account.
    If you don't activate your account in next 24 hours, your account will be deleted automaticly.</p>
    <p><a href='" . BASE_PATH. "/register/activation/$user/$activationKey'>Activate Your Account!</a></p>
    </div>";

    if (mail($to, $subject, $message, $headers))
        return true;
    return false;
}

Where is the mistake?

Upvotes: 3

Views: 2198

Answers (1)

ceejayoz
ceejayoz

Reputation: 179994

Mail going to spam rarely has much to do with the code, unless you're sending spammy content.

http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html

  1. Make sure the computer sending the email has a Reverse PTR record
  2. Configure DomainKeys Identified Mail in your DNS and code
  3. Set up a SenderID record in your DNS

You should also see if your server is on any blacklists, using something like this blacklist checker. If you're on one, nothing you're doing is going to help until you get the listing cleared up.

Upvotes: 5

Related Questions