Я пытаюсь отправить электронную почту с PHP с помощью SMTP, но каждый раз, когда я получаю письма в своем спаме. Я искал в google и получил какое-то решение, но все равно получаю электронную почту в спаме. Вы поможете мне в этом?
//$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 = 'abc@gmail.com'; // 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('abc@gmail.com', 'admin'); //Set who the message is to be sent from $mail->addReplyTo('abc@gmail.co', '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; }
// 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 = "support@xx.co"; // SMTP username $mail->Password = "xxxxxxxxxx"; // SMTP password $mail->SetFrom('support@xx.co',$_REQUEST['subject']); $mail->AddAddress('support@xx.co', $_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
Ваша проблема не вызвана вашим кодом.
Вы должны убедиться, что письмо поступает с сервера, связанного с доменом, с которого вы отправляете.
Каждое отправленное вами электронное письмо должно быть подписано с помощью записи SPF в соответствии с политикой политики отправителя , чтобы не попасть в спам-боксы.
Обычно вы можете добавить запись SPF в свой DNS.
Еще одна вещь, которую нужно проверить, – это то, что используемый вами SMTP-сервер никоим образом не внесен в черный список.