24

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 help..

4

3 に答える 3

32

この例に従えば、動作しない理由はありません:

<?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から入手できます。

于 2009-09-01T10:53:56.777 に答える
3

karim79によって投稿された例には、多くの悲しみを引き起こす可能性のあるヘッダーパラメーターがあることに注意してください: "Return-Path"-例のようにこのパラメーターを含めると、from名を追加できなくなり、送信者の電子メールアドレスのみが機能しました。

具体的には(何が起こっているかを確認するためにデバッグパラメータを追加したとき)from名の周りに余分な山かっこが追加されたため、これをsmtpサーバーに送信しようとしました:

From:<from name<name@domain.com>>または
From :<"from name"<name@domain.com>>引用符を使用してみたとき。
これにより、SMTP接続が無効なアドレスのエラーで終了しました。

また、mime_mailクラスを使用する場合は、ヘッダーで「To:」パラメーターを指定する必要があります。そうしないと、受信時に非公開のアドレスに送信されたように見えます。したがって、Return-PathパラメータをToパラメータに置き換えると、機能します。

于 2012-05-11T22:39:33.290 に答える