0

我已经阅读了一些关于此的主题,已经尝试了很多,但到目前为止没有一个有效。所以我现在有点迷茫了,在电子邮件中显示这些图像真的很重要。

这是我的代码的缩短版本:

require_once("class.phpmailer.php");
$body = '
    <body style="margin: 10px auto;">
            <table width="100%">
                <tr>
                    <td width="360">
                        <img src="cid:trip_2" alt="trip_2">
                        <!--<img src="trip_2.png" alt="trip_2">-->
                    </td>
                </tr>
            </table>
            <table width="100%">
                <tr>
                    <td align="right" width="360">
                        <img src="cid:pic" alt="pic">
                        <!--<img src="pic.png" alt="pic">-->
                    </td>
                </tr>
            </table>
            <table width="100%">
                <tr>
                    <td width="360">
                        <img src="cid:pub" alt="pub">
                        <!--<img src="pub.png" alt="pub">-->
                    </td>
                </tr>
            </table>
        </div>
    </body>';

    $mail = new PHPMailer();

    $mail->Host       = "smtp.gmail.com";
    $mail->Port       = 25;
    $mail->Username   = "*****";
    $mail->Password   = '*****'

    $mail->IsHTML(true);
    $mail->Subject = "Please appear";
    $mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
    $mail->SetFrom("example@example.com","Example");
    $mail->AddReplyTo("example@example.com","Example");
    $mail->AddAddress("example@example.com", "Example");

    $mail->AddEmbeddedImage("trip_2.png", "trip_2","trip_2.png");
    //$mail->AddAttachment("trip_2.png");
    $mail->AddEmbeddedImage("pic.png", "pic","pic.png");
    //$mail->AddAttachment("pic.png");
    $mail->AddEmbeddedImage("pub.png", "pub","pub.png");
    //$mail->AddAttachment("pub.png");
    $mail->MsgHTML($body);

    $mail->Send();

我想要实现的是默认情况下在电子邮件中显示这 3 个图像。因此用户不必单击“显示来自该地址的图像”或类似的东西。因为没有图像,电子邮件会有点空,我们需要在电子邮件中添加一些样式。

对不起我的语法伙计们,谢谢你的时间。

标记

4

4 回答 4

2

在 gmail 中: 您不能没有用户批准您的图像。这是一种反垃圾邮件/反跟踪技术,默认情况下必须关闭才能工作。

您可以让 Gmail 显示图像(嵌入到内容中)并发送验证电子邮件。您只需确保您有正确的 SPF 记录,并且 1024 位 DKIM 对消息进行了签名。然后 gmail 在内容中显示嵌入的图像。

于 2013-08-01T09:01:20.130 回答
1

这不是代码中的限制。限制在于用户的电子邮件客户端。如果不是用户自己单击“自动显示来自该发件人的图像”或类似的东西,则无法绕过这一点。

于 2013-08-01T08:57:43.787 回答
0

自 2013 年 12 月起,Gmail 现在默认显示内嵌图片

不过,用户仍然可以将其关闭

于 2015-04-01T11:06:48.917 回答
0

我以前遇到过同样的问题,这就是我解决它的方法。我使用了与图像相同的方法(AddEmbeddedImage + cid:name),但是在添加时

require("PHPMailer_5.2.0/PHPMailerAutoload.php");

它不仅在课堂上,而且在起作用。

希望它有所帮助。

于 2016-08-04T17:28:04.600 回答