【发布时间】:2013-10-12 12:23:03
【问题描述】:
我的网站托管服务器是 hostmonster.com。
我的应用程序使用 codeigniter 框架。
我有一个代码可以向我的用户发送电子邮件,我想让它自动发送。
我使用了托管服务的cpanel,并尝试将命令作为
php -q www.mysite.com/admin admin sendDailyEmail
我的控制器是 admin,方法是 sendDailyEmail,控制器位于 application/controllers/admin 文件夹中。
我还设置了每次运行 cronjob 时的提醒电子邮件。
邮件主题为
cron php -q /home1/username/public_html/admin admin sendDailyEmail
身体说
没有指定输入文件
我哪里错了。
我从未运行过 cronjobs,这是我的第一次。 我也不擅长给出命令行指令。
我的管理员 sendDailyEmail 代码如下
function sendDailyEmail() {
$data = $this->admin_model->getDailyData();
foreach ($data as $u) {
if($u->Daily){
//if(!$u->Amount){
if ($u->Email=='myemail@gmail.com') {
$user['user_data']['FirstName'] = $u->FirstName;
$user['user_data']['LastName'] = $u->LastName;
$user['user_data']['Id']=$u->Id;
$this->email->clear();
$this->email->to($u->Email);
$this->email->from('alerts@mysite.com', 'MySite');
$this->email->subject("My Subject");
$msg = $this->load->view('emails/daily_view', $user, true);
$this->email->message($msg);
if ($this->email->send())
$data['message'] = "Daily Emails has been sent successfully";
else
$data['message'] = "Daily Emails Sending Failed";
}
}
}
$data['main_content']['next_view'] = 'admin_home_view';
$this->load->view('includes/admin_template', $data);
}
【问题讨论】:
-
我已经删除了身份验证,但如果我现在复制粘贴 url,它只会向我的用户发送一封电子邮件。我担心如果有人知道,他们会继续使用 url 发送电子邮件。我该如何限制这一点。我正在使用代码点火器。 cronjob 通过 cpanel 运行。以前我的 sendDailyEmail 中有这段代码 if (!$this->session->userdata('variable')) redirect('admin/admin', 'refresh');
标签: codeigniter cron cpanel