最近周りの環境に触発され、PHPでプログラミングを初めています。
で、なんとなくHTMLで画像が添付されてて、マルチパートなメールを送りたくなったので簡単な雛形を作ってみました。
・最近プログラミングはじめた
・PEARのインストールとかよくわからない
・簡単に、添付画像とテキストでメールを送れればいい
な人にオススメです。
さくらインターネットを利用していて、PEARのライブラリのインストールとかよくわからない!っていう人に効果を発揮するはずです。宛先と送信元メアドをかきかえて、ためしに利用してみてください。
<?php
//内部のエンコード
mb_language("japanese");
mb_internal_encoding("UTF-8");
//画像の取得と画像のエンコード
$img = file_get_contents("http://art6.photozou.jp/pub/835/122835/photo/4258910_thumbnail.jpg");
$img_encode64_000 = chunk_split(base64_encode($img));
//ヘッダ情報
$sendto = "ここに宛先メアド";
$subject = "ここにサブジェクト";
$headers = "FROM:" . "ここに送信元メアド". "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-Type: multipart/related;boundary="1000000000"' . "\r\n";
//テキストパート、HTMLパート
$message =<<<END
--1000000000
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
テキストパートはここ
--1000000000
Content-Type: text/html; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
<html>
<body>
ここがHTMLパート<br>
画像表示はこんな感じで<br>
<img src="cid:img_id_000"<<br>
</body>
</html>
--1000000000
Content-Type: image/jpeg; name="images000.jpg"
Content-Transfer-Encoding: base64
Content-ID: <img_id_000>
$img_encode64_000
--1000000000--
END;
//メール用にサブジェクトと本文をエンコード
$subject = mb_encode_mimeheader($subject);
$message = mb_convert_encoding($message, "JIS");
//最後に送信!!
mail( $sendto, $subject, $message, $headers);
?>