送信メールを送信済みとしてプログラムでマークする方法はありますか? Googleの助けを借りて、私は空手を手にした。送信電子メールをプログラムとして送信済みとしてマークする方法はありますか?
トラッキング番号が貨物に追加されるとすぐに電子メールを送信するようにオブザーバーを設定しましたが、管理者は、メールが送信されたことを表示する代わりに、出荷電子メールは送信されません。
UPDATE
ここで私が持っているコードです。私は新しい問題が発生した、私は電子メールがうまく送信するために取得することができますが、私はemail_sentフラグは、次のコードを試した後UPDATE 2
class WR_TrackingEmail_Model_Observer
{
public function sendTrackEmail($observer)
{
$track = $observer->getEvent()->getTrack();
$shipment = $track->getShipment(true);
$shipment->sendEmail();
$shipment->setEmailSent(true);
}
}
を設定することができません。商品には出荷時のマークが付いていますが、何らかの理由で出荷電子メールが100万本あります。私はループがどこかで起こっていると仮定しています。誰かが私がここで間違っていることを教えてもらえますか?
public function sendTrackEmail($observer)
{
$track = $observer->getEvent()->getTrack();
$shipment = $track->getShipment(true);
$shipment->sendEmail();
$shipment->setEmailSent(true);
$saveTransaction = Mage::getModel('core/resource_transaction')
->addObject($shipment)
->addObject($shipment->getOrder())
->save();
}
上記の私の更新を参照してください。 – Jen
@Jen - 私の更新された答えを確認してください –
それだけで約百万の電子メールを発射する何らかの種類のループにこだわってしまいます.... – Jen