本文整理汇总了PHP中Zend_Mail::getMimeBoundary方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Mail::getMimeBoundary方法的具体用法?PHP Zend_Mail::getMimeBoundary怎么用?PHP Zend_Mail::getMimeBoundary使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Mail
的用法示例。
在下文中一共展示了Zend_Mail::getMimeBoundary方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: send
/**
* Send a mail using this transport
*
* @param Zend_Mail $mail
* @access public
* @return void
* @throws Zend_Mail_Transport_Exception if mail is empty
*/
public function send(Zend_Mail $mail)
{
$this->_isMultipart = false;
$this->_mail = $mail;
$this->_parts = $mail->getParts();
$mime = $mail->getMime();
// Build body content
$this->_buildBody();
// Determine number of parts and boundary
$count = count($this->_parts);
$boundary = null;
if ($count < 1) {
throw new Zend_Mail_Transport_Exception('Empty mail cannot be sent');
}
if ($count > 1) {
// Multipart message; create new MIME object and boundary
$mime = new Zend_Mime($this->_mail->getMimeBoundary());
$boundary = $mime->boundary();
} elseif ($this->_isMultipart) {
// multipart/alternative -- grab boundary
$boundary = $this->_parts[0]->boundary;
}
// Determine recipients, and prepare headers
$this->recipients = implode(',', $mail->getRecipients());
$this->_prepareHeaders($this->_getHeaders($boundary));
// Create message body
// This is done so that the same Zend_Mail object can be used in
// multiple transports
$message = new Zend_Mime_Message();
$message->setParts($this->_parts);
$message->setMime($mime);
$this->body = $message->generateMessage($this->EOL);
// Send to transport!
$this->_sendMail();
}
示例2: send
/**
* Send a mail using this transport
*
* @param OpenPGP_Zend_Mail $mail
* @access public
* @return void
* @throws Zend_Mail_Transport_Exception if mail is empty
*/
public function send(OpenPGP_Zend_Mail $mail)
{
$this->_isMultipart = false;
$this->_mail = $mail;
$this->_parts = $mail->getParts();
$mime = $mail->getMime();
// Build body content
$this->_buildBody();
// Determine number of parts and boundary
$count = count($this->_parts);
$boundary = null;
if ($count < 1) {
throw new Zend_Mail_Transport_Exception('Empty mail cannot be sent');
}
if ($count > 1) {
// Multipart message; create new MIME object and boundary
$mime = new Zend_Mime($this->_mail->getMimeBoundary());
$boundary = $mime->boundary();
} elseif ($this->_isMultipart) {
// multipart/alternative -- grab boundary
$boundary = $this->_parts[0]->boundary;
}
// Determine recipients, and prepare headers
$this->recipients = implode(',', $mail->getRecipients());
$this->_prepareHeaders($this->_getHeaders($boundary));
// Create message body
// This is done so that the same OpenPGP_Zend_Mail object can be used in
// multiple transports
$message = new Zend_Mime_Message();
$message->setParts($this->_parts);
$message->setMime($mime);
$this->body = $message->generateMessage($this->EOL);
////////////////////////////////////////////////////////
// //
// ALPHAFIELDS 2012-11-03: ADDED PGP/MIME ENCRYPTION //
// USING lib/openpgp/opepgplib.php //
// //
////////////////////////////////////////////////////////
// get from globals (set in tiki-setup.php)
global $openpgplib;
$pgpmime_msg = $openpgplib->prepareEncryptWithZendMail($this->header, $this->body, $mail->getRecipients());
$this->header = $pgpmime_msg[0];
// set pgp/mime headers from result array
$this->body = $pgpmime_msg[1];
// set pgp/mime encrypted message body from result array
////////////////////////////////////////////////////////
// //
// ALPHAFIELDS 2012-11-03: ..END PGP/MIME ENCRYPTION //
// //
////////////////////////////////////////////////////////
// Send to transport!
$this->_sendMail();
}
示例3: testAttachment
/**
* check if attachment handling works
*
*/
public function testAttachment()
{
$mail = new Zend_Mail();
$mail->setBodyText('My Nice Test Text');
$mail->addTo('testmail@example.com', 'Test Recipient');
$mail->setFrom('mymail@example.com', 'Test Sender');
$mail->setSubject('Test: Attachment Test with Zend_Mail');
$at = $mail->addAttachment('abcdefghijklmnopqrstuvexyz');
$at->type = 'image/gif';
$at->id = 12;
$at->filename = 'test.gif';
$mock = new Zend_Mail_Transport_Mock();
$mail->send($mock);
// now check what was generated by Zend_Mail.
// first the mail headers:
$this->assertContains('Content-Type: multipart/mixed', $mock->header);
$boundary = $mail->getMimeBoundary();
$this->assertContains('boundary="' . $boundary . '"', $mock->header);
$this->assertContains('MIME-Version: 1.0', $mock->header);
// check body
// search for first boundary
$p1 = strpos($mock->body, "--{$boundary}\n");
$this->assertNotEquals(null, $p1);
// cut out first (Text) part
$start1 = $p1 + 3 + strlen($boundary);
$p2 = strpos($mock->body, "--{$boundary}\n", $start1);
$this->assertNotEquals(null, $p2);
$partBody1 = substr($mock->body, $start1, $p2 - $start1);
$this->assertContains('Content-Type: text/plain', $partBody1);
$this->assertContains('My Nice Test Text', $partBody1);
// check second (HTML) part
// search for end boundary
$start2 = $p2 + 3 + strlen($boundary);
$p3 = strpos($mock->body, "--{$boundary}--");
$this->assertNotEquals(null, $p3);
$partBody2 = substr($mock->body, $start2, $p3 - $start2);
$this->assertContains('Content-Type: image/gif', $partBody2);
$this->assertContains('Content-Transfer-Encoding: base64', $partBody2);
$this->assertContains('Content-ID: <12>', $partBody2);
}