ホームページ  >  記事  >  バックエンド開発  >  PHPMailer を使用して HTML メールに画像を埋め込む方法

PHPMailer を使用して HTML メールに画像を埋め込む方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-23 00:43:03607ブラウズ

How to Embed Images in HTML Emails Using PHPMailer?

HTML メールに画像を埋め込む方法

画像が埋め込まれた HTML メールを送信するのは難しい場合があります。多くのソリューションは外部リソースに依存しているため、スパム フィルターや電子メール クライアントの制限により画像の読み込みに失敗する可能性があります。

これらの問題を解決するには、PHPMailer などの信頼できるライブラリの使用を検討してください。 PHPMailer を使用して画像を埋め込む方法を見てみましょう:

PHPMailer のドキュメントには、埋め込み (インライン) 画像の表示に関する優れたガイダンスが記載されています。 AddEmbeddedImage 関数を使用することをお勧めします。

<code class="php">$mail->AddEmbeddedImage(filename, cid, name);</code>

ここで、

  • filename は画像ファイルへのパスです。
  • cid は、画像ファイルへのリンクに使用されるコンテンツ ID です。 HTML メール内の画像
  • name は表示されるファイル名です

例:

<code class="php">$mail->AddEmbeddedImage('my-photo.jpg', 'my-photo', 'my-photo.jpg ');</code>

埋め込み画像を HTML メールに組み込むには、 src 属性が cid 値に設定された img タグを挿入します:

<code class="html"><img src="cid:my-photo" alt="my-photo" /></code>

完全なコード例は次のとおりです:

<code class="php">require_once('../class.phpmailer.php');
$mail = new PHPMailer(true);

$mail->IsSMTP();

try {
  $mail->Host       = "mail.yourdomain.com";
  $mail->Port       = 25;
  $mail->SetFrom('from@example.com', 'From Name');
  $mail->AddAddress('to@example.com', 'To Name');
  $mail->Subject = 'PHPMailer Test';

  $mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png");
  $mail->Body = 'Your <b>HTML</b> with an embedded Image: <img src=&quot;cid:my-attach&quot;> Here is an image!';

  $mail->Send();
} catch (phpmailerException $e) {
  echo $e->errorMessage();
} catch (Exception $e) {
  echo $e->getMessage();
}</code>

このコードは、画像が埋め込まれた HTML 電子メールを構築し、送信しますSMTPを使用します。この例を調整して、他の方法で電子メールを送信したり、CreateBody などの PHPMailer が提供するさまざまなメソッドを使用してメッセージのコンテンツを取得して手動で送信したりすることができます。

以上がPHPMailer を使用して HTML メールに画像を埋め込む方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。