本文整理汇总了PHP中Swift_Events_SendEvent::getSender方法的典型用法代码示例。如果您正苦于以下问题:PHP Swift_Events_SendEvent::getSender方法的具体用法?PHP Swift_Events_SendEvent::getSender怎么用?PHP Swift_Events_SendEvent::getSender使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Swift_Events_SendEvent
的用法示例。
在下文中一共展示了Swift_Events_SendEvent::getSender方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sendPerformed
/**
* Swift's SendEvent listener.
* Invoked when Swift sends a message
* @param Swift_Events_SendEvent The event information
* @throws Swift_ConnectionException If mail() returns false
*/
public function sendPerformed(Swift_Events_SendEvent $e)
{
$message = $e->getMessage();
$recipients = $e->getRecipients();
$to = array();
foreach ($recipients->getTo() as $addr) {
if ($this->isWindows()) {
$to[] = substr($addr->build(true), 1, -1);
} else {
$to[] = $addr->build();
}
}
$to = implode(", ", $to);
$bcc_orig = $message->headers->has("Bcc") ? $message->headers->get("Bcc") : null;
$subject_orig = $message->headers->has("Subject") ? $message->headers->get("Subject") : null;
$to_orig = $message->headers->has("To") ? $message->headers->get("To") : null;
$bcc = array();
foreach ($recipients->getBcc() as $addr) {
$bcc[] = $addr->build();
}
if (!empty($bcc)) {
$message->headers->set("Bcc", $bcc);
}
$bcc = null;
$body_data = $message->buildData();
$message_body = $body_data->readFull();
$subject_enc = $message->headers->has("Subject") ? $message->headers->getEncoded("Subject") : "";
$message->headers->set("To", null);
$message->headers->set("Subject", null);
$sender = $e->getSender();
$this->returnPath = $sender->build();
if ($message->headers->has("Return-Path")) {
$this->returnPath = $message->headers->get("Return-Path");
}
if (preg_match("~<([^>]+)>[^>]*\$~", $this->returnPath, $matches)) {
$this->returnPath = $matches[1];
}
$this->doMail($to, $subject_enc, $message_body, $message->headers, sprintf($this->getAdditionalParams(), $this->returnPath));
$message->setLE($this->oldLE);
$message->headers->set("To", $to_orig);
$message->headers->set("Subject", $subject_orig);
$message->headers->set("Bcc", $bcc_orig);
}