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: noreply@domain.tld\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?
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
- Make sure the computer sending the email has a Reverse PTR record
- Configure DomainKeys Identified Mail in your DNS and code
- 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.
来源:https://stackoverflow.com/questions/11601645/sent-mail-going-to-spam-folder