[ACCEPTED]-PHPMailer, AddStringAttachment and Data URI Scheme-phpmailer

Accepted answer
Score: 18

It turns out I needed to strip the data:image/png;base64, section 1 and base64_decode() the data:

$contact_image_data="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA";
$data = substr($contact_image_data, strpos($contact_image_data, ","));
$filename="test.png"; 
$encoding = "base64"; 
$type = "image/png";
$mail->AddStringAttachment(base64_decode($data), $filename, $encoding, $type);          
Score: 2

Yes it should be possible. Are you calling 6 toDataURL() with the 'image/png' MIME type 5 so it knows how to output it?

Try breaking 4 your script into two components - make sure 3 you really have a PNG then try mailing it.

For 2 example, will test.png open on your computer 1 when written?..

<?php
$contact_image_data="data:image/png;base64,iVBORw0KGgo[...]";
$fp = fopen('test.png', 'w');
fwrite($fp, $contact_image_data);
fclose($fp);
?>

Hope that helps a bit!

More Related questions