How to Embed Images in HTML Email with PHPMailer?

Barbara Streisand
Release: 2024-10-23 00:32:02
Original
608 people have browsed it

How to Embed Images in HTML Email with PHPMailer?

Embedding Images in HTML Email: A Comprehensive Solution

Sending HTML emails with embedded images can enhance user engagement and provide a more visually appealing experience. However, achieving this can present certain challenges.

To simplify this process, utilizing a library like PHPMailer is highly recommended. PHPMailer automates many common issues associated with email sending and provides support for inline image attachments.

Embedding Images with PHPMailer

PHPMailer offers an intuitive function for adding embedded images to HTML emails:

<code class="php">$mail->AddEmbeddedImage(filename, cid, name);</code>
Copy after login

For instance, to embed an image named "rocks.png" with the CID "my-attach", use the following code:

<code class="php">$mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png");</code>
Copy after login

Complete HTML Email Example

Below is a complete example of how to send an HTML email with an embedded image using PHPMailer:

<code class="php">require_once('../class.phpmailer.php');

$mail = new PHPMailer(true);
$mail->IsSMTP();

try {
  // SMTP server settings
  $mail->Host = "mail.yourdomain.com";
  $mail->Port = 25;

  // Sender and recipient information
  $mail->SetFrom('[email protected]', 'First Last');
  $mail->AddAddress('[email protected]', 'John Doe');

  // Email subject and embedded image
  $mail->Subject = 'PHPMailer Test';
  $mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png");

  // HTML body with embedded image
  $mail->Body = 'Your <b>HTML</b> with an embedded Image: <img src=&quot;cid:my-attach&quot;> Here is an image!';

  // Send the email
  $mail->Send();
  echo "Message Sent OK<p></p>\n&quot;;
} catch (phpmailerException $e) {
  echo $e->errorMessage();
} catch (Exception $e) {
  echo $e->getMessage();
}</code>
Copy after login

Customizing Email Sending with PHPMailer

While PHPMailer supports sending emails via SMTP by default, it offers flexibility to customize the sending process. If you prefer other email sending methods, you can still utilize PHPMailer to compose the email and use its capabilities, including embedded image handling.

<code class="php">// Retrieve the message content
$mime_message = $mail->CreateBody();

// Send the email using your preferred custom method
echo $mime_message; // Echo it to the screen or send it using whatever method you want</code>
Copy after login

The above is the detailed content of How to Embed Images in HTML Email with PHPMailer?. For more information, please follow other related articles on the PHP Chinese website!

source:php
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!