PHPMailer\PHPMailer
PHPMailer::addEmbeddedImage
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 in img tags, for example <img src="cid:mylogo">. Never use a user-supplied path to a file!
Method of the class: PHPMailer{}
No Hooks.
Returns
true|false. True on successfully adding an attachment
Usage
$PHPMailer = new PHPMailer(); $PHPMailer->addEmbeddedImage( $path, $cid, $name, $encoding, $type, $disposition );
- $path(string) (required)
- Path to the attachment.
- $cid(string) (required)
- Content ID of the attachment; Use this to reference the content when using an embedded image in HTML.
- $name(string)
- Overrides the attachment filename.
Default:'' - $encoding(string)
- File encoding (see
$Encoding)defaults tobase64.
Default:self::ENCODING_BASE64 - $type(string)
- File MIME type (by default mapped from the
$pathfilename's extension).
Default:'' - $disposition(string)
- Disposition to use:
inline(default) orattachment(unlikely you want this – {@seeaddAttachment()} instead).
Default:'inline'
PHPMailer::addEmbeddedImage() PHPMailer::addEmbeddedImage code WP 7.0
public function addEmbeddedImage(
$path,
$cid,
$name = '',
$encoding = self::ENCODING_BASE64,
$type = '',
$disposition = 'inline'
) {
try {
if (!static::fileIsAccessible($path)) {
throw new Exception(self::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(self::lang('encoding') . $encoding);
}
$filename = (string) 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;
}