3

このトピックを検索しましたが、私にとって役立つものはありませんでした。

コード:

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;
}

間違いはどこですか?

4

1 に答える 1

5

スパムのようなコンテンツを送信している場合を除き、メールがスパムになることはほとんどコードとは関係ありません。

http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html

  1. 電子メールを送信するコンピューターに逆 PTR レコードがあることを確認します。
  2. DNS とコードで DomainKeys Identified Mail を構成する
  3. DNS で SenderID レコードを設定する

このブラックリストチェッカーのようなものを使用して、サーバーがブラックリストに載っているかどうかも確認する必要があります。あなたが1つにいる場合、リストがクリアされるまで、あなたがしていることは何も役に立ちません.

于 2012-07-22T15:45:52.120 に答える