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 に答える