//$mail->AddEmbeddedImage("data:image/jpeg;base64,'.base64_encode($cmpimage).'", "img","image/*");`
$mail->AddEmbeddedImage("GM Community Profile Image.jpg", "my-attach", "image/jpeg");`
//$mail->Body = '<img alt="hey" src="data:image/jpeg;base64,'.base64_encode($cmpimage).'">';
$mail->Body = '<img alt="PHPMailer" src="cid:my-attach"> ';
我需要一种方法来发送带有图像的电子邮件(不是附件),图像来自表单或数据库。我使用phpmailer进行邮寄。
我是初学者在跟踪和错误时尚的学习。请帮我找到解决方案。提前谢谢。
答案 0 :(得分:0)
您需要做的第一件事是将图像编码为base64。 这将生成包含编码图像的长字符串 您的编码图像看起来像这样
数据:图像/ PNG; BASE64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAEICAIAA ...
此文本(编码图像)是您在数据库中保存的内容。 用于此目的的推荐数据类型是BLOB(在MariaDb / MySql中)或可以保存长文本的任何其他数据类型。
例如,您可以使用像https://www.base64-image.de/这样的在线转换器,或使用PHP内置函数。请参阅Stackoverflow PHP答案:How to convert an image to base64 encoding?