本文整理汇总了PHP中ezcMailTools::composeEmailAddress方法的典型用法代码示例。如果您正苦于以下问题:PHP ezcMailTools::composeEmailAddress方法的具体用法?PHP ezcMailTools::composeEmailAddress怎么用?PHP ezcMailTools::composeEmailAddress使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ezcMailTools
的用法示例。
在下文中一共展示了ezcMailTools::composeEmailAddress方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: composeEmailAddresses
/**
* Returns the array $items consisting of ezcMailAddress objects
* as one RFC822 compliant address string.
*
* Set foldLength to control how many characters each line can have before a line
* break is inserted according to the folding rules specified in RFC2822.
*
* @param array(ezcMailAddress) $items
* @param int $foldLength
* @return string
*/
public static function composeEmailAddresses(array $items, $foldLength = null)
{
$textElements = array();
foreach ($items as $item) {
$textElements[] = ezcMailTools::composeEmailAddress($item);
}
if ($foldLength === null) {
return implode(', ', $textElements);
}
$result = "";
$charsSinceFold = 0;
foreach ($textElements as $element) {
$length = strlen($element);
if ($charsSinceFold + $length + 2 > $foldLength) {
// fold last line if there is any
if ($result != '') {
$result .= "," . ezcMailTools::lineBreak() . ' ';
$charsSinceFold = 0;
}
$result .= $element;
} else {
if ($result == '') {
$result = $element;
} else {
$result .= ', ' . $element;
}
}
$charsSinceFold += $length + 1;
}
return $result;
}
示例2: generateHeaders
/**
* Returns the generated headers for the mail.
*
* This method is called automatically when the mail message is built.
* You can re-implement this method in subclasses if you wish to set
* different mail headers than ezcMail.
*
* @return string
*/
public function generateHeaders()
{
// set our headers first.
if ($this->from !== null) {
$this->setHeader("From", ezcMailTools::composeEmailAddress($this->from));
}
if ($this->to !== null) {
$this->setHeader("To", ezcMailTools::composeEmailAddresses($this->to));
}
if (count($this->cc)) {
$this->setHeader("Cc", ezcMailTools::composeEmailAddresses($this->cc));
}
if (count($this->bcc)) {
$this->setHeader("Bcc", ezcMailTools::composeEmailAddresses($this->bcc));
}
$this->setHeader('Subject', $this->subject, $this->subjectCharset);
$this->setHeader('MIME-Version', '1.0');
$this->setHeader('User-Agent', 'eZ Components');
$this->setHeader('Date', date('r'));
$idhost = $this->from != null && $this->from->email != '' ? $this->from->email : 'localhost';
if (is_null($this->messageId)) {
$this->setHeader('Message-Id', '<' . ezcMailTools::generateMessageId($idhost) . '>');
} else {
$this->setHeader('Message-Id', $this->messageID);
}
// if we have a body part, include the headers of the body
if (is_subclass_of($this->body, "ezcMailPart")) {
return parent::generateHeaders() . $this->body->generateHeaders();
}
return parent::generateHeaders();
}
示例3: testReplyToReply
public function testReplyToReply()
{
$mail = new ezcMail();
$mail->addTo(new ezcMailAddress('fh@ez.no', 'Fræderik Hølljen', 'ISO-8859-1'));
$address = new ezcMailAddress('test@example.com', 'Reply Går', 'ISO-8859-1');
$mail->setHeader('Reply-To', ezcMailTools::composeEmailAddress($address));
// $mail->setHeader( 'Reply-To', 'test@example.com' );
$reply = ezcMailTools::replyToMail($mail, new ezcMailAddress('test@example.com', 'Reply Går', 'ISO-8859-1'));
$this->assertEquals($reply->to, array(new ezcMailAddress('test@example.com', "Reply GÃ¥r", 'utf-8')));
}
示例4: testNoDoubleFold
public function testNoDoubleFold()
{
$composedAddress = ezcMailTools::composeEmailAddress(new ezcMailAddress('foo@bar.com', 'From name ØÆÅ test test test test with a very long name which contains norwegian characters ÆØÅæøÅ', 'utf-8'));
$this->assertSame($composedAddress, ezcMailHeaderFolder::foldAny($composedAddress));
}
示例5: array
<?php
require_once 'tutorial_autoload.php';
$mailAddresses = array(new ezcMailAddress('john@example.com', 'Jøhn Doe', 'ISO-8859-1'), new ezcMailAddress('jane@example.com', 'Jane Doe'));
$addresses = '=?ISO-8859-1?B?SsO4aG4gRG9l?= <john@example.com>, Jane Doe <jane@example.com';
// Convert ezcMailAddress to string representation
var_dump(ezcMailTools::composeEmailAddress($mailAddresses[0]));
var_dump(ezcMailTools::composeEmailAddresses($mailAddresses));
// Convert string to ezcMailAddress
var_dump(ezcMailTools::parseEmailAddress($addresses));
var_dump(ezcMailTools::parseEmailAddresses($addresses));
// Validate an email address (with a regular expression, without checking for MX records)
$isValid = ezcMailTools::validateEmailAddress('john.doe@example.com');
// Validate an email address with MX records check.
// MX record checking does not work on Windows due to the lack of getmxrr()
// and checkdnsrr() PHP functions. The ezcBaseFunctionalityNotSupportedException
// is thrown in this case.
// set this to your mail server, it is used in a
// 'HELO SMTP' command to validate against MX records
ezcMailTools::$mxValidateServer = 'your.mail.server';
// set this to a mail address such as 'postmaster@example.com', it is used in a
// 'MAIL FROM' SMTP command to validate against MX records
ezcMailTools::$mxValidateAddress = 'email.address@mail.server';
$isValid = ezcMailTools::validateEmailAddress('john.doe@example.com', true);
// Create a new mail object
$mail = new ezcMail();
$mail->from = $mailAddresses[1];
$mail->addTo($mailAddresses[0]);
$mail->subject = "Top secret";
// Use the lineBreak() method
$mail->body = new ezcMailText("Confidential" . ezcMailTools::lineBreak() . "DO NOT READ");