我正在使用PHPMailer。我必须发送两个附件,两个都是链接(一个是base64图像,第二个是url)。
// Variables with images
$croped_img = 'data:image/jpg;base64,/extreme_long_code_here';
$photo_thumbnail_url = 'http://t2.ftcdn.net/jpg/00/76/44/75/400_F_76447580_gOWAV0P8APW0iC51OsW5huD6qoiEsh7O.jpg';
// PHPMailer
$mail->addAttachment('$photo_thumbnail_url', 'selected.jpg');
$mail->addAttachment('$croped_img', 'croped_img.jpg');
PHPMailer的工作原理是因为如果我以该形式发送电子邮件,附件就不会出现。
但如果我链接本地图像,例如'images/abc.jpg'
然后他们来了。
我应该使用哪些php函数将变量作为电子邮件附件发送?
答案 0 :(得分:2)
与往常一样,请确保您使用的是最新版本的PHPMailer。
您需要使用addStringAttachment
,文档here:
$photo_thumbnail_url = 'http://t2.ftcdn.net/jpg/00/76/44/75/400_F_76447580_gOWAV0P8APW0iC51OsW5huD6qoiEsh7O.jpg';
$mail->addStringAttachment(file_get_contents($photo_thumbnail_url), 'selected.jpg');
msgHTML
功能自动处理data
个网址,将其转换为具有自动cid
值的嵌入图片,因此,如果您的图片已嵌入HTML中,则不要必须做任何事情才能发挥作用。
如果您想自己处理数据网址转换,可以查看其工作原理here。
答案 1 :(得分:0)
确保您的PHPMailer库是最新的!
然后尝试这个,
$mail->AddEmbeddedImage($photo_thumbnail_url, 'selected.jpg');
$mail->AddEmbeddedImage($croped_img, 'croped_img.jpg');