i have one form and i am using PHPMailer to send data from that form to my email. Users can send attachments as well, but i have one rpoblem: how to make PHPMailer to deny attac
you can check the filesize using filesize() and the type using mime_content_type().
the resulting code could look like:
$maxsize = 2 * 1024 * 1024; // 2 MB
$types = array('image/png', 'image/jpeg', 'image/gif'); // allowed mime-types
if(filesize($filename) < $maxsize && in_array(mime_content_type($filename),$types)){
$mail->AddAttachment($source, $filename);
}
EDIT: PHPMailer doesn't have a built-in possibility for those chacks - as you can see from the source, it only checks if the file exists when adding an attachment:
if ( !@is_file($path) ) {
throw new phpmailerException($this->Lang('file_access') . $path, self::STOP_CONTINUE);
}
Use filesize() for checking the file size. For checking if the file is a image use getimagesize() which returns false if it's not an image, else it will return an array of info including mimetype (if you wan't to check for specific image types).