3

私のプロジェクトの1つにcakephpを使用しています。メールの送信には CakeEmail を使用しています。そのために、メールを送信するためのgmailアカウントを1つ作成しました(つまり、そのアカウントからメールを送信するためのコードで使用されます)。メール送信は機能しますが、送信されたメールは受信者のスパムフォルダーに表示されます。
メールが送信されたメールフォルダーに表示されないGmailアカウントでも。

コードは次のとおりです。

/app/Config/email.php ファイルは次のとおりです。

クラスEmailConfig {

    public $gmail = array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => 465,
        'username' => 'username@gmail.com',
        'password' => 'password',
        'transport' => 'Smtp'
    );  

}

パスワード回復用のコントローラーファイルのコードは次のとおりです。

public function _sendemail($user_data,$temporary_password){

            $email = new CakeEmail();
            $email->config('gmail');
            $email->template('welcome', 'password_recovery_email'); //template
            $email->emailFormat('html');
            $email->viewVars(array(
                               'temporary_password'=>$temporary_password,
                               'user_data'=>$user_data
                            ));
            $email->from(array('username@gmail.com' => 'Password Recovery'));
            $email->to($user_data['User']['email_address']);

            $email->subject('password recovery email');

            $result=$email->send();



    }

送信したすべてのメールをスパム フォルダではなく受信トレイに表示するにはどうすればよいか教えてください。

ありがとう

4

2 に答える 2

2

多くの理由により、メールがスパムと見なされる可能性があります。

  • おそらく、Gmail は送信者 (smtp ソース/開発中のマシン) を信頼できる送信者としてチェックできません。PHPスクリプトを別のサーバー(本番)にアップロードして、そこから送信しようとしましたか?

  • メッセージの内容/件名を「パスワードを回復する」とは別のものに変更してみましたか?

  • 同じメッセージを別の受信者に送信しようとしましたか?

Gmail は多くのルールを使用して、メールがスパムかどうかをチェックします。次のリンクを確認してください: https://webapps.stackexchange.com/questions/5773/how-gmail-and-other-mail-services-detects-スパムとしてのメール

于 2012-10-15T21:21:21.223 に答える
-1

Cakephp のメソッドではなく、次のコードを使用してみてください。

     $subject = "Your Email Subject";
     $to = "Recipient's Email Address";
     $from = "Your Email Address";
     $additional_headers = "From: $from\r\n";
     $additional_headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
     $additional_headers .= "MIME-Version: 1.0\r\n";
     $additional_headers .= "Return-Path: $from\r\n";
     $additional_headers .= "X-Priority: 3\r\n";
     $additional_headers .= "X-Mailer: PHP\r\n";
     $message = "Your Email Body";
     mail($to, $subject, $message, $additional_headers, "-f $from")
于 2012-10-10T09:24:42.590 に答える