我的PHP邮件有问题。
我尝试使用嵌入式图片发送电子邮件。
php邮件程序只发送附件中的第一张图片。
我的代码:
使用simple_html_dom.php获取html中所有图片的路径
foreach($ht->find('img') as $img)
{
$val=$img->src;
$val=explode('/',$val);//
$count=count($val);//
$img->src='cid:attach_'.$i;//
$img->alt=$val[$count-1];//
$img->width=null;
$img->height=null;
// var_dump($val[$count-1]);
$attach[$i]['src']='../useruploads/'.$temple->id_user.'/images/'.$val[$count-1];
$attach[$i]['cid']='attach_'.$i;
$attach[$i]['alt']=$val[$count-1];
$i++;
}
在发送电子邮件的功能中我有循环:
while($attach[$i]['src'])
{
$mail->AddEmbeddedImage($attach[$i]['src'], $attach[$i]['cid'], $attach[$i]['alt']);
$i++;
}
我找不到错误。
答案 0 :(得分:0)
你可以直接在循环中调用:
$mail->AddEmbeddedImage($path, $cid, $name, $encoding,$type);
将变量$ path,$ cid,$ name,$ encoding,$ type更改为通讯员值。
但请注意PHPMailer的版本。 在http://phpmailer.worxware.com/?pg=methods,我们观察了v5.0.0: 添加嵌入式附件。这可以包括图像,声音和几乎任何其他文档。确保将$ type设置为图像类型。对于JPEG图像,使用“image / jpeg”,对于GIF图像,使用“image / gif”。如果使用MsgHTML()方法,则无需使用AddEmbeddedImage()方法。 我不知道你的版本(实际上没有足够的声誉来评论......)。
希望它有所帮助。