2

PHP の mail() 関数を使用してメールを送信しています。メッセージには、次のようなリンクを設定しました。

$message = "<a href='". $link. "'>" .$title. "</a>\n\n";

ただし、電子メールを受信すると、電子メールの本文にはタイトルではなく HTML コードがハイパーリンクとして表示されます。私はHTMLメールにあまり慣れていません。取得しようとしているものをどのように達成できますか?

4

3 に答える 3

11

メール クライアントがプレーン テキストであると認識しないように、ヘッダーを追加してみてください。

$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

PHP メール機能のマニュアルを参照してください。

Example #4 HTML メールの送信:

<?php
// multiple recipients
$to  = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';

// subject
$subject = 'Birthday Reminders for August';

// message
$message = '
<html>
<head>
  <title>Birthday Reminders for August</title>
</head>
<body>
  <p>Here are the birthdays upcoming in August!</p>
  <table>
    <tr>
      <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
    </tr>
    <tr>
      <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
    </tr>
    <tr>
      <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
    </tr>
  </table>
</body>
</html>
';

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);
?>
于 2013-03-29T21:32:24.690 に答える
3

http://php.net/manual/en/function.mail.phpにある PHP mail() のドキュメントを参照してください。

関数で HTML のコンテンツ タイプを指定する必要があります。

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);

一般に、mail() を単独で使用することは避けることをお勧めします。

たとえば、PHPMailer の使用を検討する必要があります。

于 2013-03-29T21:34:23.513 に答える
1

電子メールに HTML 部分があることを電子メール クライアントに通知する必要があります。自分ですべてを行うのではなく、Swiftmailerのようなものを使用して作業を行うことをお勧めします。

于 2013-03-29T21:32:48.783 に答える