phpphpmailer

How can I attach an image using Phpmailer?


I am using PhpMailer and have attached an image, it shows only the image like an icon rather than image itself here is my code could you help.

$mail->AddEmbeddedImage('2.jpg', '2img', '2.jpg');
$mail->Subject  =  "Order Form:  Contact form submitted";
$mail->Body     =  $body . 'img src="../../photo/2img" ;

note: I have dropped html tag before img as I get error sending this Q.


Solution

  • Per PHPMailer Manual, you should use the method AddEmbeddedImage

    $mail->AddEmbeddedImage(filename, cid, name);
    By using this function with this example's value above, results in this code:
    $mail->AddEmbeddedImage('my-photo.jpg', 'my-photo', 'my-photo.jpg '); 
    

    like this:

    $mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png");
    $mail->Body = 'Embedded Image: <img alt="PHPMailer" src="cid:my-attach"> Here is an image!';
    

    so cid:my-attach will be replaced with the inline-source of the image that's inside the email body.