ショコラ
PHPでHTMLメールを送信するには?
2023年で、PEAR の Mail_Mime を使うのは古いのかもしれませんが、
逆に良く言うなら PHP5 で動きます。
もっさん先輩
HTMLメール を送信する方法です。
<?php
// ライブラリを読み込む。
include 'Mail.php';
include 'Mail/mime.php';
$host = '{SMTPサーバー}';
$port = '586';
$username = '{ユーザーID}';
$password = '{パスワード}';
$from = 'mossan@answroz.com'; // 送信元
$recipients = 'chocolate@answorz.com'; // 送信先
$subject = "こんにちわ"; // タイトル
$htmlbody = "<html><body>こんにちわ世界!</body></html>"; // 本文
mb_language('Japanese');
// mine
$mime = new Mail_Mime("\n");
// メールヘッダーと本文
$mime->setHTMLBody(nl2br($htmlbody));
$body = $mime->get(array(
'head_charset' => 'UTF-8',
'text_charset' => 'UTF-8',
'html_charset' => 'UTF-8',
));
$headers = $mime->headers(array(
'Subject' => $subject, // ←ここで mb_encode_mimeheader を行わないように
'Content-Transfer-Encoding' => '8bit',
'Content-Type' => 'text/html; charset="utf-8"',
'From' => $from,
'To' => $recipients ,
));
// メールを送信する。
$mail = Mail::factory('smtp',array(
'host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password,
));
$result = $mail->send($recipients,$headers,$body);
// エラーを表示する。
if (PEAR::isError($result)) {
echo $result->getMessage(),PHP_EOL;
}
以上