လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> batch mailing များအတွက် Arrays split ရန် array_chunk ကိုသုံးပါ

batch mailing များအတွက် Arrays split ရန် array_chunk ကိုသုံးပါ

M66 2025-04-27

PHP ပရိုဂရမ်တွင်အသုတ်တွင်အီးမေးလ်များပေးပို့ခြင်းသည်ဘုံလိုအပ်ချက်ဖြစ်သည်။ အထူးသဖြင့်အသုံးပြုသူများအမြောက်အများသို့အီးမေးလ်များပို့ရန်လိုအပ်သည့်အခါ၎င်းသည်အီးမေးလ် 0 န်ဆောင်မှုပေးသူအားခွင့်ပြုချက်ကိုဖြစ်စေနိုင်သည်သို့မဟုတ်အီးမေးလ် 0 န်ဆောင်မှုပေးသူအားကန့်သတ်ချက်များထက်ကျော်လွန်နိုင်သည်။ အီးမေးလ်များ၏ပို့စ်များကိုထိထိရောက်ရောက်စီမံနိုင်ရန်အတွက် PHP တွင်သုံးစွဲသူ Array ကို strray အမျိုးမျိုးသို့ခွဲထုတ်ရန်နှင့်အသုတ်များဖြင့်အီးမေးလ်များကိုပို့ရန် PHP တွင် array_chunk () function ကိုသုံးနိုင်သည်။ ၎င်းသည်ကုဒ်၏စွမ်းဆောင်ရည်ကိုတိုးတက်ကောင်းမွန်စေပြီးအီးမေးလ်အမြောက်အများကိုတစ်ပြိုင်နက်တည်းပို့ခြင်းကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုရှောင်ရှားသည်။

ဤဆောင်းပါးသည် Array_chunk () ကို မည်သို့အသုံးပြုရမည်ကိုပြသနိုင်ပြီး array တစ်ခုကိုခွဲထုတ်ရန်နှင့် စာတိုက် () function ကိုပေါင်းစပ်ထားသောစာတစ်စောင်ပို့ရန်စာပို့ပေးပါမည်။

1 ။ အခြေခံအတွေးအခေါ်များ

ပထမ ဦး စွာလက်ခံသူအချက်အလက်အားလုံးပါ 0 င်သည်။ အီးမေးလ်လိပ်စာအားလုံးပါ 0 င်ပြီးဆိုပါစို့။ သို့ဆိုလျှင်ကျွန်ုပ်တို့သည် array_chunk () ကို သုံး. ဤ array ကိုသေးငယ်သော array အရွယ်အစားတစ်ခုစီသို့ခွဲထွက်ရန်ကျွန်ုပ်တို့သတ်မှတ်ထားသောအသုတ်အရွယ်အစားတစ်ခုစီသို့ခွဲထွက်နိုင်သည်။

ဥပမာအားဖြင့်, ကျွန်ုပ်တို့ တွင် 1000 စာတိုက်ပုံး 1000 ရှိပြီးစာတိုက်ပုံး 100 ကိုအသုတ်တွင်ပို့ပါက, subarray တစ်ခုချင်းစီကိုဖြတ်ပြီးအီးမေးလ်များကိုသုတ်ခြင်းဖြင့်အီးမေးလ်များပို့နိုင်သည်။

2 ။ array_chunk () array split ကိုသုံးပါ

ဦး စွာ, ကျွန်ုပ်တို့တွင်အီးမေးလ်လိပ်စာများစွာရှိသော array တစ်ခုရှိသည်ဆိုပါစို့။

 $emails = [
    "user1@example.com", "user2@example.com", "user3@example.com", 
    "user4@example.com", "user5@example.com", "user6@example.com",
    // အခြားအီးမေးလ်လိပ်စာများ...
];

နောက်တစ်ခုက array_chunk () function ကိုသုံးပြီးတစ်သုတ်နှုန်း 2 စာတိုက်ပုံးထဲကိုခွဲဖို့သုံးတယ်။

 $chunks = array_chunk($emails, 2);

အထက်ပါကုဒ်ကိုကွပ်မျက်ပြီးနောက် ဒေါ်လာတုံးများသည် ရှုထောင့်နှစ်လုံးရှိခင်းကျင်းမှုဖြစ်လာလိမ့်မည်။

 Array
(
    [0] => Array
        (
            [0] => user1@example.com
            [1] => user2@example.com
        )

    [1] => Array
        (
            [0] => user3@example.com
            [1] => user4@example.com
        )

    [2] => Array
        (
            [0] => user5@example.com
            [1] => user6@example.com
        )
    // အခြား subrarrays...
)

3 ။ အသုတ်တွင်အီးမေးလ်များပို့ပါ

ယခုကျွန်ုပ်တို့သည်အီးမေးလ်လိပ်စာအားလုံးကိုအသုတ်မျိုးစုံအဖြစ်ခွဲခြားထားပြီးဖြစ်သောကြောင့်ကျွန်ုပ်တို့သည်အီးမေးလ်များကိုအသုတ်ဖြင့်အီးမေးလ်များပို့ရန် စာ () function ကိုသုံးနိုင်သည်။ ကျွန်ုပ်တို့သည်သုတ်တစ်ခုစီကိုဖြတ်ပြီးအသုတ်တစ်ခုစီအတွက်စာပို့မည်။

 $subject = "အရေးကြီးသောသတိပေးချက်";
$message = "ဒါကကျွန်တော်တို့ရဲ့နောက်ဆုံးအသိပေးချက်ဖြစ်ပါတယ်,ဆက်စပ်အကြောင်းအရာကြည့်ရှုပါ。";
$headers = "From: no-reply@m66.net";

foreach ($chunks as $chunk) {
    // တိုင်းအချိန်တိုင်းအသုတ်တွင်အီးမေးလ်များပို့ပါ
    foreach ($chunk as $email) {
        if (mail($email, $subject, $message, $headers)) {
            echo "အီးမေးလ်ပို့ပါ: $email<br>";
        } else {
            echo "အီးမေးလ်ပို့ခြင်းမအောင်မြင်ပါ: $email<br>";
        }
    }
}

အထက်ပါကုဒ်သည်အီးမေးလ်၏ဘာသာရပ်, အကြောင်းအရာနှင့် header အချက်အလက်များကိုပထမ ဦး စွာသတ်မှတ်ပြီး Subarray တစ်ခုစီရှိအီးမေးလ်လိပ်စာများသို့အီးမေးလ်ပို့ရန်အီးမေးလ်များကိုပို့ရန်အသိုက် foreach loop ကိုအသုံးပြုသည်။

4 ။ Sending ၏အရွယ်အစားကိုထိန်းချုပ်ပါ

array_chunk () ၏ဒုတိယ parameter ကိုထိန်းချုပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပို့ခြင်း၏အသုတ်အရွယ်အစားကိုပြောင်းလွယ်ပြင်လွယ်နိုင်သည်။ ဥပမာအားဖြင့်, အကယ်. သင်သည်အသုတ်နှုန်းဖြင့်မေးလ် 50 ပို့ရန်လိုအပ်ပါကဒုတိယ parameter ကို 50 သို့သာသတ်မှတ်ပါ။

 $chunks = array_chunk($emails, 50);

ဤနည်းအားဖြင့်အသုတ်တစ်ခုစီတွင်အီးမေးလ်လိပ်စာ 50 အထိပါ 0 င်လိမ့်မည်။ သင်၏ဆာဗာနှင့်စာပို့ဝန်ဆောင်မှု၏ကန့်သတ်ချက်များပေါ် မူတည်. စွမ်းဆောင်ရည်နှင့်ရရှိနိုင်သည့်အရင်းအမြစ်များကိုဟန်ချက်ညီစေရန်ဤတန်ဖိုးကိုချိန်ညှိနိုင်သည်။

5 ။ နိဂုံးချုပ်

array_chunk () function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်စာတိုက်ပုံးလိပ်စာအမြောက်အများဖြင့်စာတိုက်ပုံးများကိုသေးငယ်သည့် subarrays မျိုးစုံသို့အလွယ်တကူခွဲခြားနိုင်သည်။ ဤနည်းလမ်းသည်အီးမေးလ်အမြောက်အများကိုတစ်ချိန်တည်းပို့ခြင်းကြောင့်ဖြစ်ပေါ်လာသောစွမ်းဆောင်ရည်မြှင့်တင်မှုများကိုရှောင်ရှားရန်သာမကအီးမေးလ်များ၏ကြိမ်နှုန်းကိုပိုမိုထိန်းချုပ်ရန်ခွင့်ပြုသည်။

ဟုတ်ပါတယ်, SMTP configuration, အီးမေးလ်အကြောင်းအရာလုံခြုံရေး, အီးမေးလ်ပို့ခြင်း၏ထိရောက်မှုကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်လိုအပ်ပါက Send Gatch Mail Delivery, Mail Tracking နှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းကဲ့သို့သောအဆင့်မြင့်သော features များကဲ့သို့သော sendprid, mailgun စသဖြင့် 0 န်ဆောင်မှုများကိုပို့ခြင်းအားဖြင့်ပရော်ဖက်ရှင်နယ်အီးမေးလ်ကိုအသုံးပြုရန်စဉ်းစားနိုင်သည်။