PHPMailer - Как добавить более одного EmbeddedImage - PullRequest
0 голосов
/ 06 апреля 2010

У меня проблема с почтовой программой PHP.

Я пытаюсь отправить электронное письмо со встроенным изображением.

php mailer отправляет только первое изображение из вложения.

Мой код:

Получить путь ко всем изображениям в формате html, используя simple_html_dom.php

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 голосов
/ 25 сентября 2014

Вы можете вызвать непосредственно внутри цикла:

$mail->AddEmbeddedImage($path, $cid, $name, $encoding,$type);

Изменение переменных $ path, $ cid, $ name, $ encoding, $ type на соответствующие значения.

Но возьмитезаботиться о версиях PHPMailer.На http://phpmailer.worxware.com/?pg=methods у нас есть наблюдение для v5.0.0: добавляет встроенное вложение.Это может включать изображения, звуки и любой другой документ.Убедитесь, что для типа $ установлено тип изображения.Для изображений JPEG используйте «image / jpeg», а для изображений GIF - «image / gif».Если вы используете метод MsgHTML (), то нет необходимости использовать метод AddEmbeddedImage ().Я не знаю вашу версию (и на самом деле у меня недостаточно репутации, чтобы комментировать ...).

Надеюсь, это поможет.

...