本文整理汇总了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);
}
示例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);
//.........这里部分代码省略.........
示例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());
}