当前位置: 首页>>代码示例>>PHP>>正文


PHP Swift_Message::build方法代码示例

本文整理汇总了PHP中Swift_Message::build方法的典型用法代码示例。如果您正苦于以下问题:PHP Swift_Message::build方法的具体用法?PHP Swift_Message::build怎么用?PHP Swift_Message::build使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Swift_Message的用法示例。


在下文中一共展示了Swift_Message::build方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testRemovingAllSubParts

 /**
  * Removing all subParts should give a multipart/mixed message with a nested multipart/related document.
  */
 public function testRemovingAllSubParts()
 {
     $msg = new Swift_Message();
     $id1 = $msg->attach(new Swift_Message_Attachment("bar"));
     $id2 = $msg->attach(new Swift_Message_EmbeddedFile("foo"));
     $id3 = $msg->attach(new Swift_Message_Part("test"));
     $msg->detach($id3);
     $structure = $msg->build()->readFull();
     //$this->dump($structure);
     $this->assertNoPattern("~Content-Type: multipart/alternative~", $structure);
     $this->assertPattern("~.*?Content-Type: multipart/mixed;\\s* boundary=(\"?)(.*?)\\1\r\n" . ".*?\r\n\r\n" . ".*?\r\n--\\2\r\n" . "Content-Type: multipart/related;\\s* boundary=(\"?)(.*?)\\3\r\n" . ".*?\r\n\r\n" . ".*?\r\n--\\4\r\n" . ".*?\r\n--\\4--" . "\\s*\r\n--\\2\r\n" . ".*?\r\n\r\n" . ".*?\r\n--\\2--~s", $structure);
 }
开发者ID:Esleelkartea,项目名称:legedia-ESLE,代码行数:15,代码来源:TestOfMessage.php

示例2: 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);
//.........这里部分代码省略.........
开发者ID:jenia0jenia,项目名称:otk,代码行数:101,代码来源:Swift.php

示例3: testLineEndingIsLFForOtherSystems

 /**
  * Unix-like systems use sendmail in -t mode so LF is needed for the EOL.
  */
 public function testLineEndingIsLFForOtherSystems()
 {
     //Windows users will be using SMTP and therefore need CRLF,
     // *nix and OS X users will be using Sendmail in "-t" mode and therefore need LF
     $swift = new Swift(new Swift_Connection_NativeMail());
     $mailsend = new MailSendWithGetDoMailArgs();
     $mailsend->setOS("MAC");
     $swift->attachPlugin($mailsend, "_MAIL_SEND");
     //Override the MailSend plugin with a custom mock
     $recipients = new Swift_Address("test@bar.tld", "Test");
     $sender = "foobar@bar.com";
     $subject = "Foo Bar";
     $body = "Foo test\r\nBar";
     $message = new Swift_Message($subject, $body);
     $body_orig = $message->build()->readFull();
     $this->assertPattern("~\r\n~", $body_orig);
     $swift->send($message, $recipients, $sender);
     $passed = $mailsend->getDoMailArgs();
     $this->assertNoPattern("~\r\n~", $passed[2]);
     $this->assertNoPattern("~\r\n~", $passed[3]->build());
     $swift = new Swift(new Swift_Connection_NativeMail());
     $mailsend = new MailSendWithGetDoMailArgs();
     $mailsend->setOS("UNIX");
     $swift->attachPlugin($mailsend, "_MAIL_SEND");
     //Override the MailSend plugin with a custom mock
     $recipients = new Swift_Address("test@bar.tld", "Test");
     $sender = "foobar@bar.com";
     $subject = "Foo Bar";
     $body = "Foo test\r\nBar";
     $message = new Swift_Message($subject, $body);
     $body_orig = $message->build()->readFull();
     $this->assertPattern("~\r\n~", $body_orig);
     $swift->send($message, $recipients, $sender);
     $passed = $mailsend->getDoMailArgs();
     $this->assertNoPattern("~\r\n~", $passed[2]);
     $this->assertNoPattern("~\r\n~", $passed[3]->build());
 }
开发者ID:Esleelkartea,项目名称:legedia-ESLE,代码行数:40,代码来源:TestOfMailSendPlugin.php


注:本文中的Swift_Message::build方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。