0
私のユーザモデルでは、新しいレコードを挿入した後にメールを送信する必要があります。あまりにも時間がかかるので、私は電子メールを送信するためのexicutionを待つことはできません。イベントハンドラをモデル自体の内部に使用しようとしましたモデル自体にyii2イベントハンドラを追加
class User extends ActiveRecord {
public function events()
{
return [
User::EVENT_AFTER_INSERT => [$this, 'sendEmail']
];
}
public function sendEmail(){
Yii::$app->mailer->compose()
->setTo($this->email)
->setFrom(['mail address' => 'name'])
->setSubject('Verify your Email')
->setHtmlBody('<p>Please click on the <a href="'.Yii::$app->request->hostInfo.'/'.Yii::$app->params['frontEndUrl'].'#/verify-email/'
.$this->emailToken.
'">link</a> to verify your email</p>')
->send();
}
}
しかし、それは何の問題もありません。
メール確認ですので、CRONジョブとして設定することはできません。マンドリルのような即効性のあるメール以外のメールを送信する方法はありますか? –
もちろん、あなたはcronとして送ることができます。あなたはなぜ技術的/論理的な配慮がありますか?もちろん、私はこれを過去に使ったマンドリルを使うこともできます。 https://packagist.org/packages/nickcv/yii2-mandrill –
cronジョブの設定例を教えてください。新しいユーザーレコードが挿入されるたびにメールを即時に送信するにはどうしたらいいですか? –