2015-04-27 45 views
-2

如何自動發送電子郵件?如何在Yii2中自動發送郵件?

我目前的情況是我想在15天后自動觸發郵件發送。

+0

請正確格式化你的問題;並在哪裏可以提供你已經嘗試過的例子。 – melodiouscode

+2

你需要寫一個cron作業 – Chinmay

+0

** cron作業意味着** –

回答

1

第一步將創建一個可以調用發送郵件的命令行。 Yii2支持命令。我建議你做一個這樣的簡單命令(放在/命令應用程序目錄中)。您將需要使用,如果要更新配置/ console.php DB等

namespace app\commands; 

use yii\console\Controller; 


class mailController extends Controller { 

    public function actionSend() { 
     //code here to send the mail 
    } 
} 

的代碼示例發送郵件可以得到here

現在你可以在警予root身份運行從殼/命令提示符下此命令DIR如下

yii mail/send 

下一步是運行此命令每15天

運行預定作業需要在設定的時間間隔內有外部觸發器。 在UNIX系統上,這觸發由cron作業提供了一個例子here 可以配置cron作業,如下

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

我想應該是'php yii'? – arogachev

+1

沒必要,yii有它自己的命令行二進制/批處理腳本(實際上調用php),但是php yii也可以使用。 – arkoak

+1

這必須從yii放置的目錄運行。並使用'./yii mail/send',或者你可以從'/ path/to/yii/yii mail/send'的任何地方使用文件的完整路徑,例如,如果我在/ var/www/yiiapp,這將是'/ var/www/yiiapp/yii mail/send' – arkoak