public function PHPMailer::addStringAttachment

5.x PHPMailer.php public PHPMailer::addStringAttachment( $string, $filename, $encoding = self::ENCODING_BASE64, $type = '', $disposition = 'attachment' )

Add a string or binary attachment (non-filesystem). This method can be used to attach ascii or binary data, such as a BLOB record from a database.

Parameters

string $string String attachment data:

string $filename Name of the attachment:

string $encoding File encoding (see $Encoding):

string $type File extension (MIME) type:

string $disposition Disposition to use:

Return value

bool True on successfully adding an attachment

Throws

Exception

File

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

Class

PHPMailer
PHPMailer - PHP email creation and transport class.

Namespace

PHPMailer\PHPMailer

Code

public function addStringAttachment(
$string, 
$filename, 
$encoding = self::ENCODING_BASE64, 
$type = '', 
$disposition = 'attachment'
) {
  try {
    // If a MIME type is not specified, try to work it out from the file name
    if ('' == $type) {
      $type = static::filenameToType($filename);
    }

    if (!$this->validateEncoding($encoding)) {
      throw new Exception($this->lang('encoding') . $encoding);
    }

    // Append to $attachment array
    $this->attachment [] = [
      0 => $string,
      1 => $filename,
      2 => static::mb_pathinfo($filename, PATHINFO_BASENAME),
      3 => $encoding,
      4 => $type,
      5 => true, // isStringAttachment
      6 => $disposition,
      7 => 0,
    ];
  }
  catch (Exception $exc) {
    $this->setError($exc->getMessage());
    $this->edebug($exc->getMessage());
    if ($this->exceptions) {
      throw $exc;
    }

    return false;
  }

  return true;
}