php - 使用 cron 作业发送电子邮件时出现问题

标签 php cron

我基本上有一个正常的 php 邮件功能脚本,它应该使用 cron 作业经常运行,但是如果我手动运行脚本,有些电子邮件在它们实际工作时不起作用。

例如,在我的 hoshing cron 控制面板中,我输入了 domain.ca/pear/Mail/test_mail.php

我输入的网址不正确吗?我应该使用某种 cron 作业命令吗

require_once('Mail.php');
require_once('../Mail_Mime/mime.php');


 $mail = Mail::factory("mail");

    $headers = array("From"=>"me@example.com", "Subject"=>"Test Mail");
    $body = "This is a test!";
    $mail->send("example@gmail.com", $headers, $body);

这正是我的电子邮件脚本

此外,cron 还适用于某些电子邮件地址,例如 gmail。

所以像我的学校这样的电子邮件在 cron 中不起作用,但在手动执行时起作用。该脚本还使用 cron 更新数据库。

我的 .sh 文件中有这个:

/usr/local/nf/php5/bin/php -f ./test_mail.php

最佳答案

您不能将 URL 单独放在 cron 规则中。使用基于文本的浏览器,例如 lynxwget在 cron 规则中:

* * * * * wget <a href="http://mypage.com" rel="noreferrer noopener nofollow">http://mypage.com</a>

您可能希望为 wget 添加一些参数或 lynx这样它就不会在服务器上保存输出,而只是模拟获取。或将输出文件夹重定向到 /tmp/dev/null让它被浪费。查看相关工具的手册页:

man wget或者 wget --help通过 Shell。

您还可以按照 Artefact2 的建议进行操作:* * * * * php script.php .您可能需要在 PHP 代码的顶部添加 PHP 的 shebang 声明:

#!/usr/bin/php
<?php
// your PHP code here

Shebang 需要指向您系统中正在运行的 PHP 可执行文件。

关于php - 使用 cron 作业发送电子邮件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5146800/

相关文章:

php - 如何在 GitHub 上为 Laravel 包使用 PR?

PHP - 嵌套 Foreach 更改原始数组值

php - Elasticsearch 配置在laravel v5.3中不起作用

cron - Ubuntu 14.04 Cron 以 ^M 结尾输出文件名

php - 从 cron 作业启动的命令行一次运行多个 PHP 脚本

Linux cronjob wget 到文件而不是 STDOUT

linux - 尝试编辑 crontab 时光标不向右移动

php - 在 wordpress 中执行 sql 查询

php - 如何使用 cron 启动 exec() PHP 命令但没有运行其中的 2 个?

php - Wordpress,PHP,URL编码问题