0
有沒有辦法以編程方式將發送郵件標記爲已發送?在Google中尋求幫助之後,我空手而歸。有沒有辦法以編程方式將發送郵件標記爲已發送?
我已經成立了一個觀察員發送一個電子郵件,只要追蹤號碼被添加到貨件,但我需要能夠在管理員中顯示郵件已發送而不是顯示「發貨郵件不發送。「
UPDATE
這裏是我的代碼。我能得到的電子郵件發送就好了,但我不能讓email_sent標誌被設置
class WR_TrackingEmail_Model_Observer
{
public function sendTrackEmail($observer)
{
$track = $observer->getEvent()->getTrack();
$shipment = $track->getShipment(true);
$shipment->sendEmail();
$shipment->setEmailSent(true);
}
}
更新2
嘗試下面的代碼後,我遇到一個新的問題。該項目被標記爲已發貨,但由於某種原因,我收到了一百萬份運輸郵件。我假設一個循環正在發生。任何人都可以告訴我我在這裏做錯了什麼?
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 2012-01-12 16:57:05
@Jen - 請檢查我的更新回答 – 2012-01-13 06:40:28
這隻會讓我陷入某種形式的循環中,會引發大約100萬封電子郵件.... – Jen 2012-01-13 16:14:37