7

のphp.netの例ではmail()、2つの異なるアドレスが使用され$to、追加のヘッダー情報「To:...」:

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

$subject = 'Birthday Reminders for August';

// message
$message = '<html> ... </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);
?>

だから私の質問は:あなたは$toの構文を提供する必要がありますmail()、しかしあなたはフォーマットを使うことができませんName <email@domain.com>、これはあなたが追加のヘッダー情報でしかすることができませんよね?

では、最初に、php.netの例が4人の異なる人にメールを送信するのはなぜですか($toヘッダー情報とヘッダー情報に異なる電子メールアドレスを使用しているため)、これは本当に私を苛立たせます!?

次に、メールを1人だけ(1回だけ)に送信し、その形式を使用したい場合Name <email@domain.com>、どのようにすればよいですか?$toヘッダー情報と同様にそれを使用しますか?その後、その人は電子メールを2回受信しますか?

4

3 に答える 3

2

内部のmail()関数の代わりにPHP Mailerクラスを使用することをお勧めします。PHP Mailerを使用する理由はいくつかあります。

  • 独自のsmtpを使用する機能
  • スパムにリストされない可能 性が高くなります(主な理由)
  • 使いやすい
于 2012-08-21T14:32:56.050 に答える
1

toヘッダーを指定する必要はありません。$to変数に名前を設定することも同様に機能します。

次のように:

$to = 'Name <email@address.tld>';
$message = 'Message';

$subject = 'Subject';

mail($to,$subject,$message);
于 2012-08-13T12:18:37.753 に答える
1

$to-Parameter は Envelope-Recipient (誰がメールを受け取るか) を記述します。to-Header は基本的に、誰がメールを受け取ったかを示すための電子メール アプリケーション用です。

メール エンベロープは、To、Cc、または BCc を認識しません。それらはすべて受信者です。

メールヘッダーは、受信者が誰がメールを受け取ったかを知るためのものです。

すべての指定されたアドレス ($to と to-header の両方) にメールを送信するメールサーバーもあれば、to-header を無視するものもあります。

于 2012-08-13T12:10:51.333 に答える