AddAddress PHPMailer関数のデータのフォーマット方法がわかりません。メールを複数の受信者に送信する必要があるため、試しました
$to = "[email protected],[email protected],[email protected]";
$obj->AddAddress($to);
しかし、成功しませんでした。任意の助けをいただければ幸いです。
送信する電子メールアドレスごとにAddAddress
関数を1回呼び出す必要があります。この関数には2つの引数しかありません:recipient_email_address
およびrecipient_name
。受信者名はオプションであり、存在しない場合は使用されません。
$mailer->AddAddress('[email protected]', 'First Name');
$mailer->AddAddress('[email protected]', 'Second Name');
$mailer->AddAddress('[email protected]', 'Third Name');
配列を使用して受信者を保存し、for
ループを使用できます。役に立てば幸いです。
すべての受信者に対してAddAddress
メソッドを1回呼び出す必要があります。そのようです:
$mail->AddAddress('[email protected]', 'Person One');
$mail->AddAddress('[email protected]', 'Person Two');
// ..
物事を簡単にするために、配列をループしてこれを行う必要があります。
$recipients = array(
'[email protected]' => 'Person One',
'[email protected]' => 'Person Two',
// ..
);
foreach($recipients as $email => $name)
{
$mail->AddAddress($email, $name);
}
さらに良いことに、それらをCarbon Copyの受信者として追加します。
$mail->AddCC('[email protected]', 'Person One');
$mail->AddCC('[email protected]', 'Person Two');
// ..
物事を簡単にするために、配列をループしてこれを行う必要があります。
$recipients = array(
'[email protected]' => 'Person One',
'[email protected]' => '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 sideに「foreach」を追加して配列の各要素を調べます。
$mailer->AddAddress($postEmail);