私はPEARメールシステムを使用して認証済みメールを送信しています。リンクのあるHTMLメールを送信する必要があります。PEARメールを使用する前は問題なく動作していました。現在、HTMLメールを送信できません。
メールの本文は次のようになります。
$body = <<<EOD
Hiya $username
You might be interested in the current 'haves' and 'wants' on example.com
Latest Haves
<a href="http://www.exmaple.com/product/have/64/Titan+Fast+Track+SunGlass">Titan Fast Track SunGlass</a>
EOD;
タグはメールにそのまま表示されます。これを解決する方法はありませんか?? Plsヘルプ..
この例に従えば、動作しない理由はありません。
<?php
include('Mail.php');
include('Mail/mime.php');
// Constructing the email
$sender = "Leigh <leigh@no_spam.net>";// Your name and email address
$recipient = "Leigh <leigh@no_spam.net>"; // The Recipients name and email address
$subject = "Test Email";// Subject for the email
$text = 'This is a text message.';// Text version of the email
$html = '<html><body><p>HTML message</p></body></html>';// HTML version of the email
$crlf = "\r\n";
$headers = array('From' => $sender, 'Return-Path' => $sender, 'Subject' => $subject);
// Creating the Mime message
$mime = new Mail_mime($crlf);
// Setting the body of the email
$mime->setTXTBody($text);
$mime->setHTMLBody($html);
$body = $mime->get();
$headers = $mime->headers($headers);
// Sending the email
$mail =& Mail::factory('mail');
$mail->send($recipient, $headers, $body);
?>
注:上記の例を機能させるには、Pear Mailに加えてPear Mail Mime Packageが必要です。ここでパッケージを取得できます https://pear.php.net/package/Mail_Mime/download 。
ヘッダーはどのように見えますか?これが私のものです:
$headers = array(
'To' => $recipients,
'From' => $adminEmail,
'Subject' => $subject,
'MIME-Version' => 1,
'Content-type' => 'text/html;charset=iso-8859-1'
);
Karim79によって投稿された例には、あなたに多くの悲しみを引き起こす可能性のあるヘッダーパラメータがあることに注意してください。「Return-Path」.
具体的には(何が起こっているかを確認するためにデバッグパラメータを追加したとき)、fromの名前の前後に山かっこが追加されたため、これをsmtpサーバーに送信しようとしました。
From:<from name <[email protected] >>または
From:<"from name" <[email protected] >>が引用符を使用しようとしたとき。
これにより、smtp接続が無効なアドレスのエラーで終了しました。
また、mime_mailクラスを使用する場合は、ヘッダーで "To:"パラメーターを指定する必要があります。そうしないと、受信時に非公開アドレスに送信されているように見えます。そのため、Return-Path paramをTo paramに置き換えれば機能します。