2016-12-28 1 views
0

Я пытаюсь отправить электронную почту с PHP с помощью SMTP, но каждый раз, когда я получаю письма в своем спаме. Я искал в google и получил какое-то решение, но все равно получаю электронную почту в спаме. Вы поможете мне в этом?Отправка электронной почты с PHP с помощью SMTP и электронной почты распространяется на спам. Каким будет самый простой способ отправить электронную почту во входящие?

//$mail->isSMTP();          // Set mailer to use SMTP 

$mail->Host = 'smtp.gmail.com';      // Specify main and backup server 
$mail->SMTPAuth = true;        // Enable SMTP authentication 
$mail->Username = '[email protected]';     // SMTP username 
$mail->Password = '***';    // SMTP password 
$mail->SMTPSecure = 'tls';   // Enable encryption,'ssl' also accepted 
$mail->Port = 587;         //Set the SMTP port number - 587 for authenticated TLS 
$mail->setFrom('[email protected]', 'admin');  //Set who the message is to be sent from 
$mail->addReplyTo('[email protected]', 'First Last'); //Set an alternative reply-to address 
$mail->addAddress($to, 'user'); // Add a recipient 
$mail->isHTML(true);         // Set email format to HTML 
$mail->Subject = 'Hello'; 
$mail->Body = "<html> 
<head> 
<title>HTML email</title> 
</head> 
<body> 
<a href='/changepassword.php?user_id=" .$User_id1."'>Create your password here</a> 
</body> 
</html>"; 
if(!$mail->send()) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
    exit; 
} 
+1

фотографии: http://stackoverflow.com/questions/746809/prevent-sent-emails-treated-as-junk-mails-using-php-mail-function – Ajay

+0

Попробуйте найти IP-адрес в глобальной черные списки. – nagiyevel

+0

Спасибо за ответ Mr.Ajay. Я также проверил это, но все равно попал в спам. –

ответ

0

Ваша проблема не вызвана кодом.

Вам необходимо убедиться, что письмо отправлено с сервера, связанного с доменом, с которого вы отправляете.

Каждое отправленное вами письмо должно быть подписано с помощью SPF record согласно Sender Policy Framework, чтобы не попасть в спам-боксы.

Обычно вы можете добавить запись SPF в свой DNS самостоятельно.

Еще одна вещь, которую нужно проверить, - это то, что используемый вами SMTP-сервер ни в коем случае не внесен в черный список.

+0

Спасибо за ответ Mr.darryn.ten, я отправил письмо от Gmail в Gmail, но все еще получаю электронную почту в спаме –

+0

Есть ли другой способ отправить электронную почту? –

+0

Вы не понимаете, что я говорю, если это слишком сложно для исследования и последующего использования, используйте коммерческий сервис, например mailchimp/mailgun, чтобы решить вашу проблему. –

1
// Use phpmailer library from github install and use 
require_once('PHPMailer/PHPMailerAutoload.php'); 
if(isset($_REQUEST['submit'])) 
{ 
    $mail = new PHPMailer(); // defaults to using php "mail()" 

    $body = "Name : ".$_REQUEST['name']."<br> Email Id ".$_REQUEST['email']."<br> message ".$_REQUEST['message']; 

    $mail->IsSMTP();          // set mailer to use SMTP 
    $mail->SMTPAuth = true; // authentication enabled 
    $mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for Gmail 
    $mail->Host = "mail.xx.co"; 
    $mail->Port = 25; 
    $mail->Username = "[email protected]"; // SMTP username 
    $mail->Password = "xxxxxxxxxx"; // SMTP password 
    $mail->SetFrom('[email protected]',$_REQUEST['subject']); 
    $mail->AddAddress('[email protected]', $_REQUEST['name']); 
    $mail->IsHTML(true);         // set email format to HTML 
    $mail->Subject = $_REQUEST['subject']; 
    $mail->Body = $body; 

    if(!$mail->Send()) { 
     echo '<strong>Email</strong> sent failed.'; 
    } else { 
     echo ' 
     <strong>Email</strong> s`enter code here`ent successfully.'; 
    } 
} 

// get smtp host detail from the cpanel 
Смежные вопросы