How can PHP be used to embed images in emails?

To embed images in emails using PHP, you can use the `Content-ID` method where the image is attached to the email and referenced within the email body using a unique identifier. This allows the image to be displayed inline when the email is opened by the recipient.

// Path to the image file
$image_path = 'path/to/image.jpg';

// Read the image content
$image_data = file_get_contents($image_path);

// Encode the image data
$image_data_encoded = base64_encode($image_data);

// Create a unique identifier for the image
$image_cid = md5(uniqid(time()));

// Set the headers for the email
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/related; boundary=\"boundary\"\r\n";

// Build the email body with the embedded image
$email_body = "--boundary\r\n";
$email_body .= "Content-Type: image/jpeg\r\n";
$email_body .= "Content-Transfer-Encoding: base64\r\n";
$email_body .= "Content-ID: <$image_cid>\r\n";
$email_body .= "\r\n";
$email_body .= $image_data_encoded . "\r\n";
$email_body .= "\r\n";
$email_body .= "--boundary\r\n";
$email_body .= "Content-Type: text/html; charset=UTF-8\r\n";
$email_body .= "\r\n";
$email_body .= "<html><body><img src=\"cid:$image_cid\"></body></html>\r\n";
$email_body .= "\r\n";
$email_body .= "--boundary--\r\n";

// Send the email with the embedded image
mail('recipient@example.com', 'Subject', $email_body, $headers);