What are the best practices for handling email operations in PHP, especially when dealing with multipart MIME messages and attachments?

When handling email operations in PHP, especially when dealing with multipart MIME messages and attachments, it is important to use a library like PHPMailer or SwiftMailer for easier handling of complex email structures. These libraries provide functions to easily add attachments, set MIME types, and send multipart messages. Additionally, make sure to properly sanitize and validate any user input before processing it in the email.

// Example using PHPMailer library to send an email with attachments
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);

try {
    $mail->isSMTP();
    $mail->Host = 'smtp.example.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'your@example.com';
    $mail->Password = 'yourpassword';
    $mail->SMTPSecure = 'tls';
    $mail->Port = 587;

    $mail->setFrom('from@example.com', 'Your Name');
    $mail->addAddress('recipient@example.com', 'Recipient Name');

    $mail->isHTML(true);
    $mail->Subject = 'Subject of the email';
    $mail->Body = 'Body of the email';

    $mail->addAttachment('/path/to/file.pdf', 'Filename.pdf');

    $mail->send();
    echo 'Email sent successfully';
} catch (Exception $e) {
    echo 'Message could not be sent. Mailer Error: ' . $mail->ErrorInfo;
}