PHPMailer - 如何添加多个EmbeddedImage

时间:2010-04-06 10:24:42

标签: php email phpmailer

我的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++;

            }

我找不到错误。

1 个答案:

答案 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()方法。 我不知道你的版本(实际上没有足够的声誉来评论......)。

希望它有所帮助。