Reputation: 11148
I am starting to use the Jmail method to send emails via an extension: http://docs.joomla.org/Sending_email_from_extensions
But the method doesn't seem to allow specifying names for the recipient, at least I haven't found the way to do it.
$mailer->addRecipient($recipient);
The documentation says: "mixed $recipient: Either a string or array of strings [e-mail address(es)]"
Anyone knows how to add the name to the recipient?
I'm using Joomla 2.5, the 1.5 method works.
Upvotes: 1
Views: 2852
Reputation: 266
That's a BUG.
I just facing the same problem, no matter how I pass the arguments, it just can't specify the name.
And in the Joomla! source code /libraries/joomla/mail/mail.php, from line 167, the doc comment says:
/**
* Add recipients to the email
*
* @param mixed $recipient Either a string or array of strings [email address(es)]
* @param mixed $name Either a string or array of strings [name(s)]
*
* @return JMail Returns this object for chaining.
*
* @since 11.1
*/
Fine, but the variable $name NEVER be used in the function:
public function addRecipient($recipient, $name = '')
{
// If the recipient is an array, add each recipient... otherwise just add the one
if (is_array($recipient))
{
foreach ($recipient as $to)
{
$to = JMailHelper::cleanLine($to);
$this->AddAddress($to);
}
}
else
{
$recipient = JMailHelper::cleanLine($recipient);
$this->AddAddress($recipient);
}
return $this;
}
Upvotes: 0
Reputation: 42622
In Joomla! 2.5 (or starting with the Platform version 11.1) the function accepts two parameters:
public function addRecipient($recipient, $name = '')
where
$recipient - Either a string or array of strings [email address(es)]
$name - Either a string or array of strings [name(s)]
Usage:
$mailer = JFactory::getMailer();
$mailer->addRecipient('[email protected]', 'John Doe');
Upvotes: 1