سؤال

لا أعرف كيف ينبغي تنسيق البيانات لوظيفة AddAddress phpmailer ؛ أحتاج إلى إرسال البريد الإلكتروني إلى العديد من المستلمين ، لذا حاولت

$to = "me@domain.com,you@domain.net,she@domain.it";
$obj->AddAddress($to);

ولكن مع عدم وجود نجاح. سيكون موضع تقدير أي مساعدة.

هل كانت مفيدة؟

المحلول

تحتاج إلى الاتصال AddAddress الوظيفة مرة واحدة لكل عنوان بريد إلكتروني تريد إرساله إليه. لا يوجد سوى وسيطتين لهذه الوظيفة: 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 طريقة مرة واحدة لكل مستلم. مثل ذلك:

$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); 
}

جميع الإجابات رائعة. فيما يلي حالة استخدام مثال لإضافة عنوان متعدد: القدرة على إضافة أكبر عدد من البريد الإلكتروني الذي تريده عند الطلب باستخدام نموذج ويب:

شاهدها في العمل مع 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);}
    }
} 
?>

إذن ما يفعله بشكل أساسي هو إنشاء مربع نص إدخال جديد في كل نقرة مع اسم "رسائل البريد الإلكتروني [].

] تمت إضافته في النهاية يجعلها صفيفًا عند النشر.

ثم نذهب عبر كل عنصر من عناصر الصفيف مع "foreach" على جانب PHP إضافة:

    $mailer->AddAddress($postEmail);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top