Are there any specific considerations to keep in mind when working with email attachments in PHP?

When working with email attachments in PHP, it is important to consider the file size of the attachments to prevent performance issues and potential server limitations. Additionally, it is recommended to sanitize the file names to prevent any security vulnerabilities. Lastly, ensure that the email server supports the file types being attached to avoid any compatibility issues.

// Example code for sending an email with attachments in PHP

$to = 'recipient@example.com';
$subject = 'Email with Attachment';
$message = 'Please see the attached file.';
$attachment = 'path/to/file.pdf';
$filename = 'file.pdf';

$boundary = md5(time());

$headers = "From: sender@example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\r\n";

$body = "--".$boundary."\r\n";
$body .= "Content-Type: text/plain; charset=\"ISO-8859-1\"\r\n";
$body .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$body .= $message."\r\n";

$body .= "--".$boundary."\r\n";
$body .= "Content-Type: application/pdf; name=\"".$filename."\"\r\n";
$body .= "Content-Transfer-Encoding: base64\r\n";
$body .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
$body .= chunk_split(base64_encode(file_get_contents($attachment)))."\r\n";

$body .= "--".$boundary."--";

mail($to, $subject, $body, $headers);