我在执行cron作业时遇到问题(正确)。

我创建了一个(很大,但是缩小到没有)的php页面,该页面调用mail()

<?
    mail('my@email.com', 'subject', 'test');
    mail('other@address.com', 'subject', 'test');
?>

然后,我创建了cron作业,运行该文件。 crontab -e中的代码行如下:

12 0 * * * /opt/lampp/bin/php /opt/lampp/htdocs/atlantis/application/controllers/cron.php

如果我从终端运行命令/ opt / lampp / bin / php /opt/lampp/htdocs/atlantis/application/controllers/cron.php,我会收到一封发送给自己的电子邮件。 但是,如果我在cron作业中运行同一行,那么它将无法正常工作。

我的下一站是查看日志。 我正在使用sSMTP运行Ubuntu。

Apr 16 11:49:17 drew-Virtual crontab[4722]: (drew) END EDIT (drew) //EDITED CRON

//Calling cron.php file from terminal
Apr 16 11:49:31 drew-Virtual sSMTP[4791]: Creating SSL connection to host
Apr 16 11:49:32 drew-Virtual sSMTP[4791]: SSL connection using RSA_AES_128_CBC_SHA1
Apr 16 11:49:34 drew-Virtual sSMTP[4791]: Sent mail for drew@drew-Virtual (221 ip-173-201-180-143.ip.secureserver.net closing connection) uid=1000 username=drew outbytes=444
Apr 16 11:49:34 drew-Virtual sSMTP[4794]: Creating SSL connection to host
Apr 16 11:49:35 drew-Virtual sSMTP[4794]: SSL connection using RSA_AES_128_CBC_SHA1
Apr 16 11:49:37 drew-Virtual sSMTP[4794]: Sent mail for drew@drew-Virtual (221 ip-173-201-180-143.ip.secureserver.net closing connection) uid=1000 username=drew outbytes=454
//I successfully received 2 emails, one to my work account, one to my personal account

//Calling cron.php from cron
Apr 16 11:50:01 drew-Virtual cron[857]: (drew) RELOAD (crontabs/drew)
Apr 16 11:51:01 drew-Virtual CRON[4808]: (drew) CMD (/opt/lampp/bin/php /opt/lampp/htdocs/atlantis/application/controllers/chron.php)
Apr 16 11:51:01 drew-Virtual sSMTP[4810]: Creating SSL connection to host
Apr 16 11:51:02 drew-Virtual sSMTP[4810]: SSL connection using RSA_AES_128_CBC_SHA1
Apr 16 11:51:04 drew-Virtual sSMTP[4810]: Sent mail for drew@drew-Virtual (221 ip-173-201-180-143.ip.secureserver.net closing connection) uid=1000 username=drew outbytes=698
//I did not receive any emails

您可以看到它仅尝试发送1封电子邮件,并且我认为失败是因为我从未收到过它。 但是,它没有告诉我它为什么失败,也没有其他线索。 我还注意到,cron作业中的出字节数大于命令行中的出字节数。

最后,php文件对所有人都有完全的rwx权限。

===============>>#1 票数:2 已采纳

问题是PHP是作为apache模块而不是PHP-CGI运行的。 我想作为一种解决方法,我可以使用类似

lynx -dump http://www.somedomain.com/cron.php

供我使用,我最终安装了php5-cli,然后将cron作业更改为

php /path/to/file.php

修复。

  ask by Drew translate from so

未解决问题?本站智能推荐:

2回复

PHP邮件不断挂起

从php.ini 该代码一直挂在浏览器中(我什至将此文件更改为777) 从终端完美跟随 (旁注:我正在测试UFW已停止)
3回复

邮件:无法打开流:权限被拒绝?

我收到此警告,使用php发送邮件警告:mail(1)[function.mail]:无法打开流:/ home /中的权限被拒绝... 使用ssmtp和gmail作为smtp PHP 5.3.1 日志中无内容(无错误) 邮件到达目的地 文件的权限为rwxr
1回复

邮件从Ubuntu服务器作为localhost发送

您好,我正在从服务器发送邮件。 如果我直接在服务器上运行它,我会得到一个正确的URL,但是在处理cronjob时,该URL是本地主机的。 我正在使用在ssmtp的Ubuntu 13.04上运行的CodeIgniter框架 这是我的编码: 我的cronjob:
1回复

无法解决cron电子邮件的去向

我有一个使用xubuntu 16.04的开发箱。 我已设置ssmtp来处理邮件并可以发送电子邮件。 我用 而且效果很好。 我有每分钟运行一次的cron作业,它创建的输出应该由我的cron发送。 'grep CRON / var / log / syslog'给了我 如果我
1回复

Cron Job更改PHP电子邮件脚本输出

我昨天设置的Cron工作有一个奇怪的问题。 我正在运行以下CronJob脚本: 0 7 * * * php -q /wocs/email.php 这指向我下面放置的电子邮件脚本。 目的是让它运行脚本来调用我的MySQL数据库,并向用户发送一封电子邮件,告知他们必须签署多少票。
1回复

加载php脚本以与cron一起运行

首先,为我的英语道歉。 我正在为我的Web订阅创建脚本。 该脚本将与cron一起运行,但我怀疑会出现。 我的主机每2分钟限制25封电子邮件,每小时限制200封电子邮件,并且php max_execution_time配置为120。脚本应每分钟发送6封电子邮件。 由于这种限制,我得
1回复

从Shell脚本发送邮件[重复]

这个问题已经在这里有了答案: 如何通过UNIX mailx命令发送电子邮件? 10个答案 我编写了一个用于计划备份过程的脚本。在该脚本中,我想触发一封邮件发送给相应的用户和admin用户,如“在$ date $ time的$ username备份成功完成。我该怎么
2回复

如何使用python脚本发送邮件?

为此,我开始点击“ New to Python,GMail SMTP error ”链接。 我的代码是 但是我收到以下错误:
2回复

通过调用bash脚本发送电子邮件时出错

我在Raspbian OS上的sendmail.sh脚本能够成功发送电子邮件。 但是,当从python脚本调用它时,我收到"mail: can not send message: process exited with non zero status"错误消息。 我已经通过手动运行sendm
2回复

CRON-PHP-file_get_contents使用CRON运行PHP页面和电子邮件

我正在尝试使用CRON作业设置收尾自动电子邮件。 我可以得到CRON作业来发送静态电子邮件,但是尝试使用file_get_contents和php页面,然后使用mysql查询从数据库获取数据并构建电子邮件正文时遇到了麻烦。 需要帮忙! *注意-我为SMTP使用了特殊的php邮件程序