* mime_content_type() is unavailable in PHP5 and breaks sending emails with attachments

* implemented rc_mime_content_type() with file_info-failover
* added svn:ignore for phpinfo.php ;-)
release-0.6
till 17 years ago
parent 50c7535072
commit 734584e2fe

@ -674,5 +674,42 @@ function strrstr($haystack, $needle)
}
}
/**
* A method to guess the mime_type of an attachment.
*
* @param string $path Path to the file.
* @param string $failover Mime type supplied for failover.
*
* @return string
* @author Till Klampaeckel <till@php.net>
* @see http://de2.php.net/manual/en/ref.fileinfo.php
* @see http://de2.php.net/mime_content_type
*/
function rc_mime_content_type($path, $failover = 'unknown/unknown')
{
global $CONFIG;
$mime_magic = $CONFIG['mime_magic'];
if (function_exists('mime_content_type')) {
return mime_content_type($path);
}
if (!extension_loaded('fileinfo')) {
if (!dl('fileinfo.' . PHP_SHLIB_SUFFIX)) {
return $failover;
}
}
$finfo = finfo_open(FILEINFO_MIME, $mime_magic);
if (!$finfo) {
return $failover;
}
$mime_type = finfo_file($finfo,$path);
if (!$mime_type) {
return $failover;
}
finfo_close($finfo);
return $mime_type;
}
?>
?>

@ -270,7 +270,10 @@ if (is_array($_SESSION['compose']['attachments']))
We need to replace mime_content_type in a later release because the function
is deprecated in favour of File_Info
*/
$MAIL_MIME->addAttachment($attachment['path'], mime_content_type($attachment['path']), $attachment['name'], true, 'base64', 'attachment', $message_charset);
$MAIL_MIME->addAttachment($attachment['path'],
rc_mime_content_type($attachment['path'], $attachment['mimetype']),
$attachment['name'], true, 'base64',
'attachment', $message_charset);
}
}

Loading…
Cancel
Save