PHPMailer\PHPMailer

PHPMailer::addAnAddress()protectedWP 1.0

Add an address to one of the recipient arrays or to the ReplyTo array. Addresses that have been added already return false, but do not throw exceptions.

Метод класса: PHPMailer{}

Хуков нет.

Возвращает

true|false. true on success, false if address already used or invalid in some way

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->addAnAddress( $kind, $address, $name );
$kind(строка) (обязательный)
One of 'to', 'cc', 'bcc', or 'ReplyTo'
$address(строка) (обязательный)
The email address to send, resp. to reply to
$name(строка)
-
По умолчанию: ''

Код PHPMailer::addAnAddress() WP 6.5.2

protected function addAnAddress($kind, $address, $name = '')
{
    if (!in_array($kind, ['to', 'cc', 'bcc', 'Reply-To'])) {
        $error_message = sprintf(
            '%s: %s',
            $this->lang('Invalid recipient kind'),
            $kind
        );
        $this->setError($error_message);
        $this->edebug($error_message);
        if ($this->exceptions) {
            throw new Exception($error_message);
        }

        return false;
    }
    if (!static::validateAddress($address)) {
        $error_message = sprintf(
            '%s (%s): %s',
            $this->lang('invalid_address'),
            $kind,
            $address
        );
        $this->setError($error_message);
        $this->edebug($error_message);
        if ($this->exceptions) {
            throw new Exception($error_message);
        }

        return false;
    }
    if ('Reply-To' !== $kind) {
        if (!array_key_exists(strtolower($address), $this->all_recipients)) {
            $this->{$kind}[] = [$address, $name];
            $this->all_recipients[strtolower($address)] = true;

            return true;
        }
    } elseif (!array_key_exists(strtolower($address), $this->ReplyTo)) {
        $this->ReplyTo[strtolower($address)] = [$address, $name];

        return true;
    }

    return false;
}