2016-12-28 53 views
0

我想使用SMTP發送來自PHP的電子郵件,但每次我收到我的垃圾郵件中的電子郵件。我在谷歌搜索,並得到了一些解決方案,但我仍然收到垃圾郵件的電子郵件。你能幫我嗎?使用SMTP和電子郵件從PHP發送電子郵件轉到spam.What是最簡單的方式發送電子郵件到收件箱?

//$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