PHPMailer\PHPMailer
PHPMailer::addAttachment
Add an attachment from a path on the filesystem. Never use a user-supplied path to a file! Returns false if the file could not be found or read. Explicitly does not support passing URLs; PHPMailer is not an HTTP client. If you need to do that, fetch the resource yourself and pass it in via a local file or string.
Method of the class: PHPMailer{}
No Hooks.
Returns
true|false.
Usage
$PHPMailer = new PHPMailer(); $PHPMailer->addAttachment( $path, $name, $encoding, $type, $disposition );
- $path(string) (required)
- Path to the attachment.
- $name(string)
- Overrides the attachment name.
Default:'' - $encoding(string)
- File encoding (see
$Encoding).
Default:self::ENCODING_BASE64 - $type(string)
- MIME type, e.g.
image/jpeg; determined automatically from$pathif not specified.
Default:'' - $disposition(string)
- Disposition to use.
Default:'attachment'
PHPMailer::addAttachment() PHPMailer::addAttachment code WP 7.0
public function addAttachment(
$path,
$name = '',
$encoding = self::ENCODING_BASE64,
$type = '',
$disposition = 'attachment'
) {
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);
}
$filename = (string) static::mb_pathinfo($path, PATHINFO_BASENAME);
if ('' === $name) {
$name = $filename;
}
if (!$this->validateEncoding($encoding)) {
throw new Exception(self::lang('encoding') . $encoding);
}
$this->attachment[] = [
0 => $path,
1 => $filename,
2 => $name,
3 => $encoding,
4 => $type,
5 => false, //isStringAttachment
6 => $disposition,
7 => $name,
];
} catch (Exception $exc) {
$this->setError($exc->getMessage());
$this->edebug($exc->getMessage());
if ($this->exceptions) {
throw $exc;
}
return false;
}
return true;
}