【问题标题】:Magento newsletter not sending through cron jobMagento 通讯未通过 cron 作业发送
【发布时间】:2012-06-16 15:31:15
【问题描述】:

我正在尝试在 Magento 中设置时事通讯。我已经在 webmin 中设置了 cron.php,它似乎可以工作,但它没有发送时事通讯。 如果我检查 cron_schedule 表,我可以在那里看到 cron 条目,但它们前面有“待定”状态。但是,如果我执行 www.mydomain.com/cron.php 它可以完美运行并发送新闻通讯,并在 cron_schedule 中创建一个具有“成功”状态的条目。我不确定问题出在哪里。

编辑

好吧,几分钟后,cron_schedule 中 newsletter_send_all 条目的状态变为“成功”,但尚未发送任何时事通讯,在 magento admin 中,“时事通讯队列”状态仍为“正在发送”。这是什么原因造成的?

编辑 2

我在这该死的事情上浪费了两天时间,但仍然没有运气。底线是,如果我在浏览器中运行http://www.mydomain.com/cron.php,它会发送简报电子邮件。但是当我为此设置 crontab 时,它只是坐在那里看着我的脸,不发送任何新闻通讯。 我试过了:

1)。 php -f /var/www/vhosts/mydomain.com/subdomains/staging/httpdocs/cron.php

2)。 /usr/bin/php -f /var/www/vhosts/mydomain.com/subdomains/staging/httpdocs/cron.php

3)。 wget "http://www.mydomain.com/cron.php"

4)。 /usr/bin/wget "http://www.mydomain.com/cron.php"

似乎没有任何效果。尝试了 chmod 777 cron.php、chown apache:apache cron.php、chown root:root cron.php 和 chown myuser:myuser cron.php……都失败了……

【问题讨论】:

  • 你设法让它工作了吗?我之前也遇到过类似的问题,一直没解决
  • 不...仍在等待解决方案。
  • 你看过下面的答案了吗?
  • 所以您的 cronjob 设置不正确。将Mage::log('cron.php got called'); 添加到您的cron.php 并检查您的日志,这样您就可以看到它何时被调用。并检查您的虚拟主机,您需要使用哪个路径来调用文件。

标签: magento cron crontab


【解决方案1】:

尝试手动发送。试试这个 'app\design\adminhtml\default\default\template\newsletter\queue\list.phtml' 在这个页面getChildHtml('grid') ?> 这个函数调用列表体

which come from

'app\code\core\Mage\Adminhtml\Block\Newsletter\Queue\Grid\Renderer\Action.php'

add following code in that page but don't make any change in core file, override that file
in your local directory as

'app\code\local\Mage\Adminhtml\Block\Newsletter\Queue\Grid\Renderer \Action.php'

just copy and paste that file in this directory.

Now add the following code in line number 77 before this code $this->getColumn()->setActions($actions);

$actions[] = array(
'url'=> $this->getUrl('*/newsletter_queue/sending'),
'caption'=>Mage::helper('newsletter')->__('Send'),
'popup' =>true
);

【讨论】:

    【解决方案2】:

    Magento 通讯未发送 + 解决方案 如果您想弄清楚为什么您的 Magento 没有发送时事通讯电子邮件而摸不着头脑,那么您需要这篇文章。

    Magento 有一个名为 cron.php 的脚本,它处理 Magento 商店必须执行的所有定时作业。在此列表中是发送时事通讯的任务。您必须设置您的服务器 crontab 以定期(例如 5 分钟)运行此 cron.php 脚本。

    完成此操作后,您应该会发现您的时事通讯将按预期发送出去。

    有关一些说明,请参阅此页面

    但是——这是我对 linux 服务器的简单说明。

    1. 打开与您的服务器的 SSH 会话。 (如果您不能这样做,您将不得不让您的房东为您这样做)。

    2. 浏览到你的magento商店的文档根目录,那里有cron.php的文件夹

    3. 输入命令

    1 密码 此命令为您提供当前的完整路径。写在某处

    1. 输入命令

    哪个php

    此命令为您提供 PHP 二进制文件的路径。写在某处

    1. 输入命令

    crontab -e

    这会打开你的 crontab 编辑器,它是 Linux 上用于调度任务的系统

    1. 在 crontab 编辑器上按 [i] 键进入插入模式(基本上是 vi)

    2. 在新行上粘贴以下内容,但将路径替换为您之前获得的路径

    */5 * * * * /path/to/php -f /path/to/cron.php

    1. 点击 [esc] 然后输入命令

    :wq

    这会保存 crontab 或 cntrl + x 和 Y

    1. 创建简报并安排在 2 分钟内发送。

    它应该发送。

    ref.http://www.edmondscommerce.co.uk/magento/magento-newsletters-not-sending-solution/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-24
      • 2021-02-17
      • 1970-01-01
      • 2014-07-29
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 2015-04-05
      相关资源
      最近更新 更多