2

Magento でニュースレターをセットアップしようとしています。webmin で cron.php をセットアップしましたが、機能しているように見えますが、ニュースレターを送信していません。cron_schedule テーブルを確認すると、そこに cron エントリが表示されますが、それらの前に「保留中」ステータスがあります。ただし、www.mydomain.com/cron.php を実行すると、完全に機能し、ニュースレターが送信され、cron_schedule に「成功」​​ステータスのエントリが作成されます。どこに問題があるのか​​ わかりません。

編集

まあ、数分後にcron_scheduleのnewsletter_send_allエントリのステータスが「成功」に変わりましたが、ニュースレターは送信されていません.magento管理者では、「ニュースレターキュー」のステータスはまだ「送信中」です. 何が原因でしょうか?

編集2

私はこのいまいましいことに 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 を試してみました...すべて失敗しました...

4

2 に答える 2

3

手動で送信してみてください。この ここに画像の説明を入力 ページの '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
);
于 2013-07-12T08:46:05.780 に答える
2

Magento ニュースレターが送信されない + 解決策 Magento がニュースレター メールを送信しない理由を理解しようとして頭を悩ませている場合は、この投稿が必要です。

Magento には cron.php というスクリプトがあり、Magento ストアで実行する必要があるすべての時間指定ジョブを処理します。このリストには、ニュースレターを送信するタスクがあります。この cron.php スクリプトを一定の間隔 (たとえば 5 分) で実行するように、サーバーの crontab を設定する必要があります。

これを行うと、ニュースレターが期待どおりに送信されることがわかります。

いくつかの手順については、このページを参照してください

ただし、Linux サーバーの簡単な手順は次のとおりです。

  1. サーバーとの SSH セッションを開きます。(これができない場合は、代わりにホストに依頼する必要があります)。

  2. Magento ストアのドキュメント ルート、そこに cron.php があるフォルダーを参照します。

  3. コマンドを入力します

1 pwd このコマンドは、現在のフル パスを提供します。これをどこかに書き留めておいてください

  1. コマンドを入力します

どのphp

このコマンドは、PHP バイナリへのパスを提供します。これをどこかに書き留めておいてください

  1. コマンドを入力します

crontab -e

これにより、Linux でタスクをスケジュールするためのシステムである crontab エディターが開きます。

  1. [i] キーを押して、crontab エディター (基本的には 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/

于 2012-08-08T07:29:52.147 に答える