-2

これは私の登録メールの例で、ユーザーにメールを送信してアカウントを有効にします。

//send activation email

$to      = $email;
$subject = "Activate your account!";
$headers = "From: Example.com\r\n";
$headers .= "CC: $email\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$server = "http://www.example.com";

ini_set("SMTP", $server);
$body = "<table style='border-top:1px solid #707070;border-bottom:1px solid #707070;margin-top:5px;'>";
$body .= "<tr><td colspan='2'><span style='font-family:arial;font-size:12px;color:#000000;'>Your login details are as follows; </span></td></tr>";
$body .= "<tr style='background-color:#f2f4f6;margin-bottom:5px;'><td>Username:</td><td>$username</td></tr>";
$body .= "<tr style='background-color:#f2f4f6;margin-bottom:5px;'><td>Password:</td><td>$password</td></tr></table>";
$body .= "<table><tr><td><span style='font-family:arial;font-size:12px;color:#000000;'>Follow the link:</span></td>";
$body .= "<td><a style='text-decoration:underline;font-family:arial;font-size:12px;color:#264971' href='http://www.example.com/activate.php?id=$lastid&code=$random'>http://www.example.com/activate.php?id=$lastid&code=$random</a></td>";
$body .= "</tr></table>";
$body .= "</body></html>";

//function to send email

if (mail($to, $subject, $body, $headers)) {}

ユーザー登録をテストすると、アクティベーション電子メールが SPAM フォルダーに入れられます。これを修正するには何を変更する必要がありますか?

4

3 に答える 3

1

このshd作品

   <?
  $headers .= "Organization: Sender Organization\r\n";
  $headers .= "MIME-Version: 1.0\r\n";
  $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
  $headers .= "X-Priority: 3\r\n";
  $headers .= "X-Mailer: PHP". phpversion() ."\r\n"
?>

ここから。

于 2012-06-30T07:30:48.810 に答える
0

それは私には完全に正常に見えます。メールがスパムとして表示される理由は無数にあります (通常は、メール サーバーとクライアントの種類、受信したメールで使用されているスパム フィルタリング エンジンに関連し、ドメイン/サーバーによる過去のアクティビティも含まれます)。

匿名のローカル SMTP サーバーよりも、信頼できるプロバイダーで認証済みの SMTP サーバーまたは IMAP サーバーを使用する方が良い結果が得られる場合があります (大規模な Web メール プロバイダーのほとんどにとって、おそらく不明であるか、安全でないと考えられているため)。

スパムとして (ほとんど) フラグが立てられないようにするための唯一の確実な方法は、ユーザーに自分をホワイトリストに追加するよう依頼することです。

于 2012-06-30T07:19:31.500 に答える
0

phpMailer smtp メソッドを使用する方が簡単で優れています。 http://code.google.com/a/apache-extras.org/p/phpmailer/

または、このコードを使用することもできます。

function email($to,$name,$subject,$message)
{
    $content='<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>'.$subject.'</title>
    </head>
    <body>
    '.$message.'
    </body>
    </html>';
    $smtp_server = "mailserver.domain.com";
    $port = 25;
    $mydomain = "domain.com";
    $username = "info@domain.com";
    $from = "From Name";
    $password = "myEmailPassword";
    $headers = "From: $from <info@domain.com>\r\n";
    $headers .= "To: $name <$to>\r\n";
    $headers .= "Reply-To: info@domain.com\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
    $handle = fsockopen($smtp_server,$port);
    fputs($handle, "HELO $mydomain\r\n");
    fputs($handle, "AUTH LOGIN\r\n");
    fputs($handle, base64_encode($username)."\r\n");
    fputs($handle, base64_encode($password)."\r\n");
    fputs($handle, "MAIL FROM:<$username>\r\n");
    fputs($handle, "RCPT TO:<$to>\r\n");
    fputs($handle, "DATA\r\n");
    fputs($handle, "$headers \nSubject: $subject \n$content \r\n");
    fputs($handle, ".\r\n");
    fputs($handle, "QUIT\r\n");
}
于 2012-06-30T07:25:14.797 に答える