本文整理汇总了PHP中Mage_Newsletter_Model_Subscriber::received方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Newsletter_Model_Subscriber::received方法的具体用法?PHP Mage_Newsletter_Model_Subscriber::received怎么用?PHP Mage_Newsletter_Model_Subscriber::received使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Newsletter_Model_Subscriber
的用法示例。
在下文中一共展示了Mage_Newsletter_Model_Subscriber::received方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: send
/**
* Send mail to subscriber
*
* @param Mage_Newsletter_Model_Subscriber|string $subscriber subscriber Model or E-mail
* @param array $variables template variables
* @param string|null $name receiver name (if subscriber model not specified)
* @param Mage_Newsletter_Model_Queue|null $queue queue model, used for problems reporting.
* @return boolean
* @deprecated since 1.4.0.1
**/
public function send($subscriber, array $variables = array(), $name = null, Mage_Newsletter_Model_Queue $queue = null)
{
if (!$this->isValidForSend()) {
return false;
}
$email = '';
if ($subscriber instanceof Mage_Newsletter_Model_Subscriber) {
$email = $subscriber->getSubscriberEmail();
if (is_null($name) && ($subscriber->hasCustomerFirstname() || $subscriber->hasCustomerLastname())) {
$name = $subscriber->getCustomerFirstname() . ' ' . $subscriber->getCustomerLastname();
}
} else {
$email = (string) $subscriber;
}
if (Mage::getStoreConfigFlag(Mage_Core_Model_Email_Template::XML_PATH_SENDING_SET_RETURN_PATH)) {
$this->getMail()->setReturnPath($this->getTemplateSenderEmail());
}
ini_set('SMTP', Mage::getStoreConfig('system/smtp/host'));
ini_set('smtp_port', Mage::getStoreConfig('system/smtp/port'));
$mail = $this->getMail();
$mail->addTo($email, $name);
$text = $this->getProcessedTemplate($variables, true);
if ($this->isPlain()) {
$mail->setBodyText($text);
} else {
$mail->setBodyHTML($text);
}
$mail->setSubject($this->getProcessedTemplateSubject($variables));
$mail->setFrom($this->getTemplateSenderEmail(), $this->getTemplateSenderName());
try {
//$mail->send();
$mail->send(Mage::helper('smtp')->getTransport());
$this->_mail = null;
if (!is_null($queue)) {
$subscriber->received($queue);
}
} catch (Exception $e) {
if ($subscriber instanceof Mage_Newsletter_Model_Subscriber) {
// If letter sent for subscriber, we create a problem report entry
$problem = Mage::getModel('newsletter/problem');
$problem->addSubscriberData($subscriber);
if (!is_null($queue)) {
$problem->addQueueData($queue);
}
$problem->addErrorData($e);
$problem->save();
if (!is_null($queue)) {
$subscriber->received($queue);
}
} else {
// Otherwise throw error to upper level
throw $e;
}
return false;
}
return true;
}