首页 > 解决方案 > PhpMailer 不使用 html

问题描述

我正在使用PhpMailer类发送包含 html 的电子邮件,我注意到如果电子邮件上的正文包含img标签,则电子邮件不会收到并且没有错误显示。

有什么建议么?

到目前为止我的代码:

            $mail = new PHPMailer();
            $mail->IsSMTP();
            $mail->SMTPAuth = true;
            $mail->SMTPSecure = 'ssl';
            $mail->Host = "smtp.gmail.com";
            $mail->Port = 465;

            $mail->Username = "myusername";
            $mail->Password = "mypassword";


                $mail->setFrom($from);
                $mail->addAddress($to);

            $mail->Subject = $subject;
            $mail->Body =$body;
            $mail->IsHTML(true); 

            if ($mail->send()) {
                return 1;
            } else {

                return 0;
            }

标签: phpemailphpmailer

解决方案


如果您尝试从 localhost 发送它并在 gmail 中读取,它将无法正常工作,因为 gmail 经常创建代理图像链接。您需要发送直接到互联网可访问位置的图像链接。大概就是这样。如果您要发送包含可访问 Internet 的位置的链接的电子邮件,请将它们附加到问题中,我也会更新答案。

EIDT:与提问者聊天后,确定电子邮件 HTML 缺少正常的 HTML 标记:<html><body>ACTUALCONTENT</body></html>添加这些后,图像正确显示。


推荐阅读