本文整理汇总了PHP中Swift_Message::getCc方法的典型用法代码示例。如果您正苦于以下问题:PHP Swift_Message::getCc方法的具体用法?PHP Swift_Message::getCc怎么用?PHP Swift_Message::getCc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Swift_Message
的用法示例。
在下文中一共展示了Swift_Message::getCc方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sendTo
/**
* Send the e-mail
*
* Friendly name portions (e.g. Admin <admin@example.com>) are allowed. The
* method takes an unlimited number of recipient addresses.
*
* @return boolean True if the e-mail was sent successfully
*/
public function sendTo()
{
$arrRecipients = $this->compileRecipients(func_get_args());
if (empty($arrRecipients)) {
return false;
}
$this->objMessage->setTo($arrRecipients);
$this->objMessage->setCharset($this->strCharset);
$this->objMessage->setPriority($this->intPriority);
// Default subject
if ($this->strSubject == '') {
$this->strSubject = 'No subject';
}
$this->objMessage->setSubject($this->strSubject);
// HTML e-mail
if ($this->strHtml != '') {
// Embed images
if ($this->blnEmbedImages) {
if ($this->strImageDir == '') {
$this->strImageDir = TL_ROOT . '/';
}
$arrCid = array();
$arrMatches = array();
$strBase = \Environment::get('base');
// Thanks to @ofriedrich and @aschempp (see #4562)
preg_match_all('/<[a-z][a-z0-9]*\\b[^>]*((src=|background=|url\\()["\']??)(.+\\.(jpe?g|png|gif|bmp|tiff?|swf))(["\' ]??(\\)??))[^>]*>/Ui', $this->strHtml, $arrMatches);
// Check for internal images
if (!empty($arrMatches) && isset($arrMatches[0])) {
for ($i = 0, $c = count($arrMatches[0]); $i < $c; $i++) {
$url = $arrMatches[3][$i];
// Try to remove the base URL
$src = str_replace($strBase, '', $url);
$src = rawurldecode($src);
// see #3713
// Embed the image if the URL is now relative
if (!preg_match('@^https?://@', $src) && file_exists($this->strImageDir . $src)) {
if (!isset($arrCid[$src])) {
$arrCid[$src] = $this->objMessage->embed(\Swift_EmbeddedFile::fromPath($this->strImageDir . $src));
}
$this->strHtml = str_replace($arrMatches[1][$i] . $arrMatches[3][$i] . $arrMatches[5][$i], $arrMatches[1][$i] . $arrCid[$src] . $arrMatches[5][$i], $this->strHtml);
}
}
}
}
$this->objMessage->setBody($this->strHtml, 'text/html');
}
// Text content
if ($this->strText != '') {
if ($this->strHtml != '') {
$this->objMessage->addPart($this->strText, 'text/plain');
} else {
$this->objMessage->setBody($this->strText, 'text/plain');
}
}
// Add the administrator e-mail as default sender
if ($this->strSender == '') {
list($this->strSenderName, $this->strSender) = \String::splitFriendlyEmail(\Config::get('adminEmail'));
}
// Sender
if ($this->strSenderName != '') {
$this->objMessage->setFrom(array($this->strSender => $this->strSenderName));
} else {
$this->objMessage->setFrom($this->strSender);
}
// Set the return path (see #5004)
$this->objMessage->setReturnPath($this->strSender);
// Send e-mail
$intSent = self::$objMailer->send($this->objMessage, $this->arrFailures);
// Log failures
if (!empty($this->arrFailures)) {
log_message('E-mail address rejected: ' . implode(', ', $this->arrFailures), $this->strLogFile);
}
// Return if no e-mails have been sent
if ($intSent < 1) {
return false;
}
$arrCc = $this->objMessage->getCc();
$arrBcc = $this->objMessage->getBcc();
// Add a log entry
$strMessage = 'An e-mail has been sent to ' . implode(', ', array_keys($this->objMessage->getTo()));
if (!empty($arrCc)) {
$strMessage .= ', CC to ' . implode(', ', array_keys($arrCc));
}
if (!empty($arrBcc)) {
$strMessage .= ', BCC to ' . implode(', ', array_keys($arrBcc));
}
log_message($strMessage, $this->strLogFile);
return true;
}
示例2: getCc
/**
* Returns a list of addresses to whom the message will be copied to.
*
* @return array
*/
public function getCc()
{
$recipients = [];
foreach ($this->message->getCc() as $email => $name) {
$recipients[] = new Email($email, $name);
}
return $recipients;
}
示例3: messageToArray
/**
* Converts \Swift_Message into associative array
*
* @param array $search If the mailer requires tokens in another format than Mautic's, pass array of Mautic tokens to replace
* @param array $replace If the mailer requires tokens in another format than Mautic's, pass array of replacement tokens
*
* @return array|\Swift_Message
*/
protected function messageToArray($search = array(), $replace = array())
{
if (!empty($search)) {
MailHelper::searchReplaceTokens($search, $replace, $this->message);
}
$from = $this->message->getFrom();
$fromEmail = current(array_keys($from));
$fromName = $from[$fromEmail];
$message = array('html' => $this->message->getBody(), 'text' => MailHelper::getPlainTextFromMessage($this->message), 'subject' => $this->message->getSubject(), 'from' => array('name' => $fromName, 'email' => $fromEmail));
// Generate the recipients
$message['recipients'] = array('to' => array(), 'cc' => array(), 'bcc' => array());
$to = $this->message->getTo();
foreach ($to as $email => $name) {
$message['recipients']['to'][$email] = array('email' => $email, 'name' => $name);
}
$cc = $this->message->getCc();
if (!empty($cc)) {
foreach ($cc as $email => $name) {
$message['recipients']['cc'][$email] = array('email' => $email, 'name' => $name);
}
}
$bcc = $this->message->getBcc();
if (!empty($bcc)) {
foreach ($bcc as $email => $name) {
$message['recipients']['bcc'][$email] = array('email' => $email, 'name' => $name);
}
}
$replyTo = $this->message->getReplyTo();
if (!empty($replyTo)) {
foreach ($replyTo as $email => $name) {
$message['replyTo'] = array('email' => $email, 'name' => $name);
}
}
$returnPath = $this->message->getReturnPath();
if (!empty($returnPath)) {
$message['returnPath'] = $returnPath;
}
// Attachments
$children = $this->message->getChildren();
$attachments = array();
foreach ($children as $child) {
if ($child instanceof \Swift_Attachment) {
$attachments[] = array('type' => $child->getContentType(), 'name' => $child->getFilename(), 'content' => $child->getEncoder()->encodeString($child->getBody()));
}
}
$message['attachments'] = $attachments;
return $message;
}
示例4: send
/**
* Send a message to any number of recipients
* @param Swift_Message The message to send. This does not need to (and shouldn't really) have any of the recipient headers set.
* @param mixed The recipients to send to. Can be a string, Swift_Address or Swift_RecipientList. Note that all addresses apart from Bcc recipients will appear in the message headers
* @param mixed The address to send the message from. Can either be a string or an instance of Swift_Address.
* @return int The number of successful recipients
* @throws Swift_ConnectionException If sending fails for any reason.
*/
public function send(Swift_Message $message, $recipients, $from)
{
Swift_ClassLoader::load("Swift_Message_Encoder");
if (is_string($recipients) && preg_match("/^" . Swift_Message_Encoder::CHEAP_ADDRESS_RE . "\$/", $recipients)) {
$recipients = new Swift_Address($recipients);
} elseif (!$recipients instanceof Swift_AddressContainer) {
throw new Exception("The recipients parameter must either be a valid string email address, " . "an instance of Swift_RecipientList or an instance of Swift_Address.");
}
if (is_string($from) && preg_match("/^" . Swift_Message_Encoder::CHEAP_ADDRESS_RE . "\$/", $from)) {
$from = new Swift_Address($from);
} elseif (!$from instanceof Swift_Address) {
throw new Exception("The sender parameter must either be a valid string email address or " . "an instance of Swift_Address.");
}
$log = Swift_LogContainer::getLog();
if (!$message->getEncoding() && !$this->connection->hasExtension("8BITMIME")) {
$message->setEncoding("QP", true, true);
}
$list = $recipients;
if ($recipients instanceof Swift_Address) {
$list = new Swift_RecipientList();
$list->addTo($recipients);
}
Swift_ClassLoader::load("Swift_Events_SendEvent");
$send_event = new Swift_Events_SendEvent($message, $list, $from, 0);
$this->notifyListeners($send_event, "BeforeSendListener");
$to = $cc = array();
if (!($has_from = $message->getFrom())) {
$message->setFrom($from);
}
if (!($has_return_path = $message->getReturnPath())) {
$message->setReturnPath($from->build(true));
}
if (!($has_reply_to = $message->getReplyTo())) {
$message->setReplyTo($from);
}
if (!$has_reply_to[0]) {
$message->setReplyTo($from->getAddress());
}
if (!($has_message_id = $message->getId())) {
$message->generateId();
}
$this->command("MAIL FROM: " . $message->getReturnPath(true), 250);
$failed = 0;
$sent = 0;
$tmp_sent = 0;
$it = $list->getIterator("to");
while ($it->hasNext()) {
$it->next();
$address = $it->getValue();
$to[] = $address->build();
try {
$this->command("RCPT TO: " . $address->build(true), 250);
$tmp_sent++;
} catch (Swift_BadResponseException $e) {
$failed++;
$send_event->addFailedRecipient($address->getAddress());
if ($log->hasLevel(Swift_Log::LOG_FAILURES)) {
$log->addfailedRecipient($address->getAddress());
}
}
}
$it = $list->getIterator("cc");
while ($it->hasNext()) {
$it->next();
$address = $it->getValue();
$cc[] = $address->build();
try {
$this->command("RCPT TO: " . $address->build(true), 250);
$tmp_sent++;
} catch (Swift_BadResponseException $e) {
$failed++;
$send_event->addFailedRecipient($address->getAddress());
if ($log->hasLevel(Swift_Log::LOG_FAILURES)) {
$log->addfailedRecipient($address->getAddress());
}
}
}
if ($failed == count($to) + count($cc)) {
$this->reset();
$this->notifyListeners($send_event, "SendListener");
return 0;
}
if (!($has_to = $message->getTo()) && !empty($to)) {
$message->setTo($to);
}
if (!($has_cc = $message->getCc()) && !empty($cc)) {
$message->setCc($cc);
}
$this->command("DATA", 354);
$data = $message->build();
while (false !== ($bytes = $data->read())) {
$this->command($bytes, -1);
//.........这里部分代码省略.........
示例5: messageToArray
/**
* Converts \Swift_Message into associative array.
*
* @param array $search If the mailer requires tokens in another format than Mautic's, pass array of Mautic tokens to replace
* @param array $replace If the mailer requires tokens in another format than Mautic's, pass array of replacement tokens
* @param bool|false $binaryAttachments True to convert file attachments to binary
*
* @return array|\Swift_Message
*/
protected function messageToArray($search = [], $replace = [], $binaryAttachments = false)
{
if (!empty($search)) {
MailHelper::searchReplaceTokens($search, $replace, $this->message);
}
$from = $this->message->getFrom();
$fromEmail = current(array_keys($from));
$fromName = $from[$fromEmail];
$message = ['html' => $this->message->getBody(), 'text' => MailHelper::getPlainTextFromMessage($this->message), 'subject' => $this->message->getSubject(), 'from' => ['name' => $fromName, 'email' => $fromEmail]];
// Generate the recipients
$message['recipients'] = ['to' => [], 'cc' => [], 'bcc' => []];
$to = $this->message->getTo();
foreach ($to as $email => $name) {
$message['recipients']['to'][$email] = ['email' => $email, 'name' => $name];
}
$cc = $this->message->getCc();
if (!empty($cc)) {
foreach ($cc as $email => $name) {
$message['recipients']['cc'][$email] = ['email' => $email, 'name' => $name];
}
}
$bcc = $this->message->getBcc();
if (!empty($bcc)) {
foreach ($bcc as $email => $name) {
$message['recipients']['bcc'][$email] = ['email' => $email, 'name' => $name];
}
}
$replyTo = $this->message->getReplyTo();
if (!empty($replyTo)) {
foreach ($replyTo as $email => $name) {
$message['replyTo'] = ['email' => $email, 'name' => $name];
}
}
$returnPath = $this->message->getReturnPath();
if (!empty($returnPath)) {
$message['returnPath'] = $returnPath;
}
// Attachments
$children = $this->message->getChildren();
$attachments = [];
foreach ($children as $child) {
if ($child instanceof \Swift_Attachment) {
$attachments[] = ['type' => $child->getContentType(), 'name' => $child->getFilename(), 'content' => $child->getEncoder()->encodeString($child->getBody())];
}
}
if ($binaryAttachments) {
// Convert attachments to binary if applicable
$message['attachments'] = $attachments;
$fileAttachments = $this->getAttachments();
if (!empty($fileAttachments)) {
foreach ($fileAttachments as $attachment) {
if (file_exists($attachment['filePath']) && is_readable($attachment['filePath'])) {
try {
$swiftAttachment = \Swift_Attachment::fromPath($attachment['filePath']);
if (!empty($attachment['fileName'])) {
$swiftAttachment->setFilename($attachment['fileName']);
}
if (!empty($attachment['contentType'])) {
$swiftAttachment->setContentType($attachment['contentType']);
}
if (!empty($attachment['inline'])) {
$swiftAttachment->setDisposition('inline');
}
$message['attachments'][] = ['type' => $swiftAttachment->getContentType(), 'name' => $swiftAttachment->getFilename(), 'content' => $swiftAttachment->getEncoder()->encodeString($swiftAttachment->getBody())];
} catch (\Exception $e) {
error_log($e);
}
}
}
}
} else {
$message['binary_attachments'] = $attachments;
$message['file_attachments'] = $this->getAttachments();
}
$message['headers'] = [];
$headers = $this->message->getHeaders()->getAll();
/** @var \Swift_Mime_Header $header */
foreach ($headers as $header) {
if ($header->getFieldType() == \Swift_Mime_Header::TYPE_TEXT) {
$message['headers'][$header->getFieldName()] = $header->getFieldBodyModel();
}
}
return $message;
}
示例6: sendTo
/**
* Send the e-mail
*
* Friendly name portions (e.g. Admin <admin@example.com>) are allowed. The
* method takes an unlimited number of recipient addresses.
*
* @return boolean True if the e-mail was sent successfully
*/
public function sendTo()
{
$arrRecipients = $this->compileRecipients(func_get_args());
if (empty($arrRecipients)) {
return false;
}
$this->objMessage->setTo($arrRecipients);
$this->objMessage->setCharset($this->strCharset);
$this->objMessage->setPriority($this->intPriority);
// Default subject
if ($this->strSubject == '') {
$this->strSubject = 'No subject';
}
$this->objMessage->setSubject($this->strSubject);
// HTML e-mail
if ($this->strHtml != '') {
// Embed images
if ($this->blnEmbedImages) {
if ($this->strImageDir == '') {
$this->strImageDir = TL_ROOT . '/';
}
$arrMatches = array();
preg_match_all('/(src=|url\\()"([^"]+\\.(jpe?g|png|gif|bmp|tiff?|swf))"/Ui', $this->strHtml, $arrMatches);
$strBase = \Environment::get('base');
// Check for internal images
foreach (array_unique($arrMatches[2]) as $url) {
// Try to remove the base URL
$src = str_replace($strBase, '', $url);
$src = rawurldecode($src);
// see #3713
// Embed the image if the URL is now relative
if (!preg_match('@^https?://@', $src) && file_exists($this->strImageDir . $src)) {
$cid = $this->objMessage->embed(\Swift_EmbeddedFile::fromPath($this->strImageDir . $src));
$this->strHtml = str_replace(array('src="' . $url . '"', 'url("' . $url . '"'), array('src="' . $cid . '"', 'url("' . $cid . '"'), $this->strHtml);
}
}
}
$this->objMessage->setBody($this->strHtml, 'text/html');
}
// Text content
if ($this->strText != '') {
if ($this->strHtml != '') {
$this->objMessage->addPart($this->strText, 'text/plain');
} else {
$this->objMessage->setBody($this->strText, 'text/plain');
}
}
// Add the administrator e-mail as default sender
if ($this->strSender == '') {
list($this->strSenderName, $this->strSender) = $this->splitFriendlyName($GLOBALS['TL_CONFIG']['adminEmail']);
}
// Sender
if ($this->strSenderName != '') {
$this->objMessage->setFrom(array($this->strSender => $this->strSenderName));
} else {
$this->objMessage->setFrom($this->strSender);
}
// Send e-mail
$intSent = self::$objMailer->send($this->objMessage, $this->arrFailures);
// Log failures
if (!empty($this->arrFailures)) {
log_message('E-mail address rejected: ' . implode(', ', $this->arrFailures), $this->strLogFile);
}
// Return if no e-mails have been sent
if ($intSent < 1) {
return false;
}
$arrCc = $this->objMessage->getCc();
$arrBcc = $this->objMessage->getBcc();
// Add a log entry
$strMessage = 'An e-mail has been sent to ' . implode(', ', array_keys($this->objMessage->getTo()));
if (!empty($arrCc)) {
$strMessage .= ', CC to ' . implode(', ', array_keys($arrCc));
}
if (!empty($arrBcc)) {
$strMessage .= ', BCC to ' . implode(', ', array_keys($arrBcc));
}
log_message($strMessage, $this->strLogFile);
return true;
}
示例7: logSwiftmailMessage
/**
* PHPWS_Email has a built-in simple logging function. This replicates
* the functionality of that function for SwiftMail.
*/
public static function logSwiftmailMessage(Swift_Message $message)
{
$id = 'id:' . $message->getId();
$from = 'from:' . $message->getSender();
$to = 'to:' . implode(',', array_keys($message->getTo()));
// Optional fields, If the message has them, implode the arrays to simple strings.
$cc = $message->getCc() != null ? 'cc:' . implode(',', array_keys($message->getCc())) : '';
$bcc = $message->getBcc() != null ? 'bcc:' . implode(',', array_keys($message->getBcc())) : '';
$replyto = $message->getReplyTo() != null ? 'reply-to:' . implode(',', array_keys($message->getReplyTo())) : '';
$subject = 'subject:' . $message->getSubject();
$module = 'module:' . PHPWS_Core::getCurrentModule();
$user = 'user:' . (Current_User::isLogged() ? Current_User::getUsername() : '');
PHPWS_Core::log("{$id} {$module} {$user} {$subject} {$from} {$to} {$cc} {$bcc} {$replyto}", 'phpws-mail.log', 'mail');
}
示例8: recipientForbidden
/**
* Checks the email recipients are in domains that are allowed.
* @param Swift_Message $message
* @return bool
*/
protected function recipientForbidden($message)
{
if (!empty(Yii::app()->params['restrict_email_domains'])) {
$to = $message->getTo();
$cc = $message->getCc();
$bcc = $message->getBcc();
$to = $to ? $to : array();
$cc = $cc ? $cc : array();
$bcc = $bcc ? $bcc : array();
$addresses = array_merge($to, $cc, $bcc);
foreach ($addresses as $email => $name) {
$domain = preg_replace('/^.*?@/', '', $email);
if (!in_array($domain, Yii::app()->params['restrict_email_domains'])) {
return true;
}
}
}
return false;
}
示例9: getBatchRecipientCount
/**
* @param \Swift_Message $message
* @param int $toBeAdded
* @param string $type
*
* @return int
*/
public function getBatchRecipientCount(\Swift_Message $message, $toBeAdded = 1, $type = 'to')
{
return count($message->getTo()) + count($message->getCc()) + count($message->getBcc()) + $toBeAdded;
}
示例10: getCc
/**
* {@inheritdoc}
*/
public function getCc()
{
return $this->message->getCc();
}
示例11: getCopyRecipients
/**
* @return array
*/
public function getCopyRecipients()
{
return $this->message->getCc();
}