PHP ပရိုဂရမ်တွင်အသုတ်တွင်အီးမေးလ်များပေးပို့ခြင်းသည်ဘုံလိုအပ်ချက်ဖြစ်သည်။ အထူးသဖြင့်အသုံးပြုသူများအမြောက်အများသို့အီးမေးလ်များပို့ရန်လိုအပ်သည့်အခါ၎င်းသည်အီးမေးလ် 0 န်ဆောင်မှုပေးသူအားခွင့်ပြုချက်ကိုဖြစ်စေနိုင်သည်သို့မဟုတ်အီးမေးလ် 0 န်ဆောင်မှုပေးသူအားကန့်သတ်ချက်များထက်ကျော်လွန်နိုင်သည်။ အီးမေးလ်များ၏ပို့စ်များကိုထိထိရောက်ရောက်စီမံနိုင်ရန်အတွက် PHP တွင်သုံးစွဲသူ Array ကို strray အမျိုးမျိုးသို့ခွဲထုတ်ရန်နှင့်အသုတ်များဖြင့်အီးမေးလ်များကိုပို့ရန် PHP တွင် array_chunk () function ကိုသုံးနိုင်သည်။ ၎င်းသည်ကုဒ်၏စွမ်းဆောင်ရည်ကိုတိုးတက်ကောင်းမွန်စေပြီးအီးမေးလ်အမြောက်အများကိုတစ်ပြိုင်နက်တည်းပို့ခြင်းကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုရှောင်ရှားသည်။
ဤဆောင်းပါးသည် Array_chunk () ကို မည်သို့အသုံးပြုရမည်ကိုပြသနိုင်ပြီး array တစ်ခုကိုခွဲထုတ်ရန်နှင့် စာတိုက် () function ကိုပေါင်းစပ်ထားသောစာတစ်စောင်ပို့ရန်စာပို့ပေးပါမည်။
ပထမ ဦး စွာလက်ခံသူအချက်အလက်အားလုံးပါ 0 င်သည်။ အီးမေးလ်လိပ်စာအားလုံးပါ 0 င်ပြီးဆိုပါစို့။ သို့ဆိုလျှင်ကျွန်ုပ်တို့သည် array_chunk () ကို သုံး. ဤ array ကိုသေးငယ်သော array အရွယ်အစားတစ်ခုစီသို့ခွဲထွက်ရန်ကျွန်ုပ်တို့သတ်မှတ်ထားသောအသုတ်အရွယ်အစားတစ်ခုစီသို့ခွဲထွက်နိုင်သည်။
ဥပမာအားဖြင့်, ကျွန်ုပ်တို့ တွင် 1000 စာတိုက်ပုံး 1000 ရှိပြီးစာတိုက်ပုံး 100 ကိုအသုတ်တွင်ပို့ပါက, subarray တစ်ခုချင်းစီကိုဖြတ်ပြီးအီးမေးလ်များကိုသုတ်ခြင်းဖြင့်အီးမေးလ်များပို့နိုင်သည်။
ဦး စွာ, ကျွန်ုပ်တို့တွင်အီးမေးလ်လိပ်စာများစွာရှိသော 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...
)
ယခုကျွန်ုပ်တို့သည်အီးမေးလ်လိပ်စာအားလုံးကိုအသုတ်မျိုးစုံအဖြစ်ခွဲခြားထားပြီးဖြစ်သောကြောင့်ကျွန်ုပ်တို့သည်အီးမေးလ်များကိုအသုတ်ဖြင့်အီးမေးလ်များပို့ရန် စာ () 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 ကိုအသုံးပြုသည်။
array_chunk () ၏ဒုတိယ parameter ကိုထိန်းချုပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပို့ခြင်း၏အသုတ်အရွယ်အစားကိုပြောင်းလွယ်ပြင်လွယ်နိုင်သည်။ ဥပမာအားဖြင့်, အကယ်. သင်သည်အသုတ်နှုန်းဖြင့်မေးလ် 50 ပို့ရန်လိုအပ်ပါကဒုတိယ parameter ကို 50 သို့သာသတ်မှတ်ပါ။
$chunks = array_chunk($emails, 50);
ဤနည်းအားဖြင့်အသုတ်တစ်ခုစီတွင်အီးမေးလ်လိပ်စာ 50 အထိပါ 0 င်လိမ့်မည်။ သင်၏ဆာဗာနှင့်စာပို့ဝန်ဆောင်မှု၏ကန့်သတ်ချက်များပေါ် မူတည်. စွမ်းဆောင်ရည်နှင့်ရရှိနိုင်သည့်အရင်းအမြစ်များကိုဟန်ချက်ညီစေရန်ဤတန်ဖိုးကိုချိန်ညှိနိုင်သည်။
array_chunk () function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်စာတိုက်ပုံးလိပ်စာအမြောက်အများဖြင့်စာတိုက်ပုံးများကိုသေးငယ်သည့် subarrays မျိုးစုံသို့အလွယ်တကူခွဲခြားနိုင်သည်။ ဤနည်းလမ်းသည်အီးမေးလ်အမြောက်အများကိုတစ်ချိန်တည်းပို့ခြင်းကြောင့်ဖြစ်ပေါ်လာသောစွမ်းဆောင်ရည်မြှင့်တင်မှုများကိုရှောင်ရှားရန်သာမကအီးမေးလ်များ၏ကြိမ်နှုန်းကိုပိုမိုထိန်းချုပ်ရန်ခွင့်ပြုသည်။
ဟုတ်ပါတယ်, SMTP configuration, အီးမေးလ်အကြောင်းအရာလုံခြုံရေး, အီးမေးလ်ပို့ခြင်း၏ထိရောက်မှုကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်လိုအပ်ပါက Send Gatch Mail Delivery, Mail Tracking နှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းကဲ့သို့သောအဆင့်မြင့်သော features များကဲ့သို့သော sendprid, mailgun စသဖြင့် 0 န်ဆောင်မှုများကိုပို့ခြင်းအားဖြင့်ပရော်ဖက်ရှင်နယ်အီးမေးလ်ကိုအသုံးပြုရန်စဉ်းစားနိုင်သည်။