protected function PHPMailer::addAnAddress

5.x PHPMailer.php protected PHPMailer::addAnAddress($kind, $address, $name = '')

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.

Parameters

string $kind One of 'to', 'cc', 'bcc', or 'ReplyTo':

string $address The email address to send, resp. to reply to:

string $name:

Return value

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

Throws

Exception

File

inc/PHPMailer/src/PHPMailer.php, line 1068

Class

PHPMailer
PHPMailer - PHP email creation and transport class.

Namespace

PHPMailer\PHPMailer

Code

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;
    }
  }
  else {
    if (!array_key_exists(strtolower($address), $this->ReplyTo)) {
      $this->ReplyTo [strtolower($address)] = [$address, $name];

      return true;
    }
  }

  return false;
}