1

拡張機能を介して電子メールを送信するために Jmail メソッドを使用し始めています: http://docs.joomla.org/Sending_email_from_extensions

しかし、この方法では受信者の名前を指定できないようです。少なくとも私はそれを行う方法を見つけていません。

$mailer->addRecipient($recipient);

ドキュメントには次のように記載されています: " mixed $recipient: 文字列または文字列の配列 [電子メール アドレス] "

受信者に名前を追加する方法を知っている人はいますか?

私は Joomla 2.5 を使用しています。1.5 メソッドが機能します。

4

2 に答える 2

1

ジュムラで!2.5 (またはプラットフォーム バージョン 11.1 以降) では、この関数は次の 2 つのパラメーターを受け入れます。

public function addRecipient($recipient, $name = '')

どこ

$recipient - 文字列または文字列の配列 [電子メール アドレス]

$name - 文字列または文字列の配列 [name(s)]

使用法:

$mailer = JFactory::getMailer();

$mailer->addRecipient('john.doe@example.com', 'John Doe');

于 2012-11-16T11:36:49.123 に答える
0

それはバグです。

引数をどのように渡しても、名前を指定できないだけで、同じ問題に直面しています。

そしてJoomlaで!ソースコード /libraries/joomla/mail/mail.php の 167 行目から、doc コメントには次のように記載されています。

/**
 * 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
 */

ただし、変数 $name関数内で使用しないでください。

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;
}
于 2012-12-14T01:12:53.430 に答える