如何在Yii2中自动发送电子邮件?

如何在Yii2中自动发送电子邮件?,yii2,swiftmailer,Yii2,Swiftmailer,如何自动发送电子邮件 我目前的情况是,我希望在15天后自动触发邮件发送。第一步是创建一个可以调用以发送邮件的命令行。 Yii2支持命令。我建议您制作这样一个简单的命令(放入/command-app-dir)。如果使用db等,则需要更新config/console.php namespace app\commands; use yii\console\Controller; class mailController extends Controller { public funct

如何自动发送电子邮件


我目前的情况是,我希望在15天后自动触发邮件发送。

第一步是创建一个可以调用以发送邮件的命令行。 Yii2支持命令。我建议您制作这样一个简单的命令(放入/command-app-dir)。如果使用db等,则需要更新config/console.php

namespace app\commands;

use yii\console\Controller;


class mailController extends Controller {

    public function actionSend() {
       //code here to send the mail
    } 
}
可以获得发送邮件的代码示例

现在,您可以在yii root目录中的shell/command提示符下运行此命令,如下所示

yii mail/send
下一步是每15天运行一次该命令

运行计划作业需要在设置的时间间隔上有一个外部触发器。 在unix系统上,此触发器由cron作业提供,例如 您可以如下配置cron作业

0    0    1,16  *   *   /path/to/yiiroot/yii mail/send

请正确编排你的问题格式;您需要为此编写一个cron作业,我想它应该是
php yii
?没有必要,yii有自己的命令行二进制/批处理脚本(实际上它调用php),但是也可以使用php yii。这必须从yii所在的目录运行。并使用
/yii-mail/send
,或者您也可以使用文件的完整路径,从任何地方
/path/to/yii/yii-mail/send
,例如,如果我的应用程序位于/var/www/yiiapp,这将是
/var/www/yiiapp/yii-mail/send