public function PHPMailer::addEmbeddedImage
Search API
5.x PHPMailer.php | public PHPMailer::addEmbeddedImage(
$path,
$cid,
$name = '',
$encoding = self::ENCODING_BASE64,
$type = '',
$disposition = 'inline'
) |
Add an embedded (inline) attachment from a file. This can include images, sounds, and just about any other document type. These differ from 'regular' attachments in that they are intended to be displayed inline with the message, not just attached for download. This is used in HTML messages that embed the images the HTML refers to using the $cid value. Never use a user-supplied path to a file!
Parameters
string $path Path to the attachment:
string $cid Content ID of the attachment; Use this to reference: the content when using an embedded image in HTML
string $name Overrides the attachment name:
string $encoding File encoding (see $Encoding):
string $type File MIME type:
string $disposition Disposition to use:
Return value
bool True on successfully adding an attachment
Throws
- PHPMailer::msgHTML in inc/
PHPMailer/ src/ PHPMailer.php - Create a message body from an HTML string. Automatically inlines images and creates a plain-text version by converting the HTML, overwriting any existing values in Body and AltBody. Do not source $message content from user input! $basedir is prepended…
File
- inc/
PHPMailer/ src/ PHPMailer.php, line 3398
Class
- PHPMailer
- PHPMailer - PHP email creation and transport class.
Namespace
PHPMailer\PHPMailerCode
public function addEmbeddedImage(
$path,
$cid,
$name = '',
$encoding = self::ENCODING_BASE64,
$type = '',
$disposition = 'inline'
) {
try {
if (!static::isPermittedPath($path) || !@is_file($path)) {
throw new Exception($this->lang('file_access') . $path, self::STOP_CONTINUE);
}
// If a MIME type is not specified, try to work it out from the file name
if ('' == $type) {
$type = static::filenameToType($path);
}
if (!$this->validateEncoding($encoding)) {
throw new Exception($this->lang('encoding') . $encoding);
}
$filename = static::mb_pathinfo($path, PATHINFO_BASENAME);
if ('' == $name) {
$name = $filename;
}
// Append to $attachment array
$this->attachment [] = [
0 => $path,
1 => $filename,
2 => $name,
3 => $encoding,
4 => $type,
5 => false, // isStringAttachment
6 => $disposition,
7 => $cid,
];
}
catch (Exception $exc) {
$this->setError($exc->getMessage());
$this->edebug($exc->getMessage());
if ($this->exceptions) {
throw $exc;
}
return false;
}
return true;
}