Не удается отправить изображения в Gmail через PHPMailer - PullRequest
0 голосов
/ 31 января 2020

Я использую PHPMailer для отправки некоторых сообщений в своем интре anet, проблема возникает, когда я пытаюсь отправить изображения в теле письма, если я просто отправляю изображения в виде вложения, все идет гладко, но когда Я пытаюсь отправить изображения в теле письма. Gmail (и просто Gmail) игнорирует изображение, даже если оно показывает сообщение.

Справа - gmail, затемненная дело в том, что компания lo go добавлена ​​с помощью функции AddEmbeddedImage ()

Еще более странно то, что я отправляю встроенное изображение в заголовок письма, и это выглядит нормально.

Что я могу сделать, чтобы появлялись изображения?

Это код:

public function enviaEmail($email = "", $subject, $body, $nomes_anexos, $tipo_noticia = false) {

        global $config;

        if($tipo_noticia && ($tipo_noticia == 'company' || $tipo_noticia == 'company')){
            $this->mail->FromName = $config['email_fromname_company'];
        } else {
            $this->mail->FromName = $config['email_fromname'];
        }

        $this->mail->From = $config['email_from'];

        $header = $this->includeHeader($subject);
        $footer = $this->includeFooter();

        if(empty($email)){
            $this->logger->log("Email em branco.");
            return false;
        }

        $this->mail->ClearAllRecipients();
        $this->mail->AddAddress($email);
        $this->mail->Subject = $subject;
        $this->mail->Body    = $header.$body.$footer;
        $this->mail->AltBody = strip_tags($body).$footer;


        //THIS WORKS
        if($tipo_noticia && ($tipo_noticia == 'company' || $tipo_noticia == 'mensagem_company')){
            $this->mail->AddEmbeddedImage(dirname(__FILE__).'/../../public/img/company.png', 'logo', 'company.png'); 
        } else {
            $this->mail->AddEmbeddedImage(dirname(__FILE__).'/../../public/img/logo_local_novo.png', 'logo', 'local.png');
        }



        if(!empty($nomes_anexos)){
            foreach($nomes_anexos as $an){
                $nome_anexo_final = preg_replace("/^(.*)?-/","", $an);
                $this->mail->AddAttachment(PATH_ANEXOS."/".$an, urldecode($nome_anexo_final));
            }
        }
        if(!$this->mail->Send()) {
            $this->logger->log("Erro ao enviar e-mail '$subject' para '$email': ". $this->mail->ErrorInfo);
            return false;
        }

        return true;

    }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...