AddAddressPHPMailer関数のデータをどのようにフォーマットする必要があるのかわかりません。メールを複数の受信者に送信する必要があるので、試してみました
$to = "me@domain.com,you@domain.net,she@domain.it";
$obj->AddAddress($to);
しかし、成功しませんでした。どんな助けでもありがたいです。
AddAddressPHPMailer関数のデータをどのようにフォーマットする必要があるのかわかりません。メールを複数の受信者に送信する必要があるので、試してみました
$to = "me@domain.com,you@domain.net,she@domain.it";
$obj->AddAddress($to);
しかし、成功しませんでした。どんな助けでもありがたいです。
AddAddress
送信する電子メールアドレスごとに1回関数を呼び出す必要があります。この関数の引数は2つだけです:recipient_email_address
とrecipient_name
。受信者名はオプションであり、存在しない場合は使用されません。
$mailer->AddAddress('recipient1@domain.com', 'First Name');
$mailer->AddAddress('recipient2@domain.com', 'Second Name');
$mailer->AddAddress('recipient3@domain.com', 'Third Name');
配列を使用して受信者を格納してから、for
ループを使用できます。お役に立てば幸いです。
AddAddress
受信者ごとに1回メソッドを呼び出す必要があります。そのようです:
$mail->AddAddress('person1@domain.com', 'Person One');
$mail->AddAddress('person2@domain.com', 'Person Two');
// ..
簡単にするには、配列をループしてこれを行う必要があります。
$recipients = array(
'person1@domain.com' => 'Person One',
'person2@domain.com' => 'Person Two',
// ..
);
foreach($recipients as $email => $name)
{
$mail->AddAddress($email, $name);
}
さらに良いことに、それらをカーボンコピーの受信者として追加します。
$mail->AddCC('person1@domain.com', 'Person One');
$mail->AddCC('person2@domain.com', 'Person Two');
// ..
簡単にするには、配列をループしてこれを行う必要があります。
$recipients = array(
'person1@domain.com' => 'Person One',
'person2@domain.com' => 'Person Two',
// ..
);
foreach($recipients as $email => $name)
{
$mail->AddCC($email, $name);
}
上記のいくつかの素晴らしい答えは、ここでその情報を使用して、同じ問題を解決するために今日私がしたことです:
$to_array = explode(',', $to);
foreach($to_array as $address)
{
$mail->addAddress($address, 'Web Enquiry');
}
foreach ($all_address as $aa) {
$mail->AddAddress($aa);
}
すべての答えは素晴らしいです。複数のアドレスを追加するユースケースの例を次に示します。Webフォームを使用してオンデマンドで必要な数の電子メールを追加する機能:
ここでjsfiddleの動作を確認してください (phpプロセッサを除く)
### Send unlimited email with a web form
# Form for continuously adding e-mails:
<button type="button" onclick="emailNext();">Click to Add Another Email.</button>
<div id="addEmail"></div>
<button type="submit">Send All Emails</button>
# Script function:
<script>
function emailNext() {
var nextEmail, inside_where;
nextEmail = document.createElement('input');
nextEmail.type = 'text';
nextEmail.name = 'emails[]';
nextEmail.className = 'class_for_styling';
nextEmail.style.display = 'block';
nextEmail.placeholder = 'Enter E-mail Here';
inside_where = document.getElementById('addEmail');
inside_where.appendChild(nextEmail);
return false;
}
</script>
# PHP Data Processor:
<?php
// ...
// Add the rest of your $mailer here...
if ($_POST[emails]){
foreach ($_POST[emails] AS $postEmail){
if ($postEmail){$mailer->AddAddress($postEmail);}
}
}
?>
つまり、基本的には、クリックするたびに「emails[]」という名前の新しい入力テキストボックスを生成します。
最後に[]を追加すると、投稿時に配列になります。
次に、PHP側で「foreach」を使用して配列の各要素を調べ、以下を追加します。
$mailer->AddAddress($postEmail);