У меня есть два массива, один из которых предназначен для списка адресов электронной почты, а другой - для массива smtp. Я хочу применить определенное условие в цикле foreach и отправке электронной почты, но с приведенным ниже условием является мой код.
Я пробовал егос кодом, который я вставил сюда, но он не работает должным образом, так как я хочу применить лимит на smtp для отправки только указанного в массиве лимитов массива smtp.
$emails = array(
"test1@gmail.com",
"test2@gmail.com",
"test3@gmail.com",
"test4@gmail.com",
"test5@gmail.com",
"test6@gmail.com",
"test7@gmail.com",
"test8@gmail.com",
"test9@gmail.com",
"test10@gmail.com",
"tes11@gmail.com",
"test12@gmail.com",
"test13@gmail.com",
"test14@gmail.com",
"test15@gmail.com",
"test16@gmail.com",
"test17@gmail.com",
"test18@gmail.com",
"test19@gmail.com",
"test20@gmail.com",
);
/*I have set smtp array with Its Daily Limit Count*/
$smtp=array(
array("smtp1@gmail.com" => 2),
array("smtp2@gmail.com" => 4),
array("smtp3@gmail.com" => 5)
);
/*When I Iterate the $emails array now */
//pre($smtp);
$counter=0;
foreach($emails as $email_key=>$email_value){
$smtp_detail=$smtp[$counter];
send_email($email_value,$smtp_detail);
$counter++;
}
На данный момент он работает нормально, но не работаетс лимитом на электронную почту SMTP.
Как мне применить лимит на электронную почту согласно smtp, как определено в $stmp
?Он должен генерировать только 11 электронных писем, так как это общее количество (2 + 4 + 5 = 11), поэтому smtp1@gmail.com
должно запустить 2 электронных письма, тогда smtp2@gmail.com
должно запустить 4, а mtp3@gmail.com
должно запустить 5.
Ожидаемый результат
$output_expected = array(
test1@gmail.com => 'ok', 'smtp_used' => smtp1@gmail.com,
test2@gmail.com => 'ok', 'smtp_used' => smtp2@gmail.com,
test3@gmail.com => 'ok', 'smtp_used' => smtp3@gmail.com,
test4@gmail.com => 'ok', 'smtp_used' => smtp1@gmail.com,
test5@gmail.com => 'ok', 'smtp_used' => smtp2@gmail.com,
test6@gmail.com => 'ok', 'smtp_used' => smtp3@gmail.com,
test7@gmail.com => 'ok', 'smtp_used' => smtp2@gmail.com,
test8@gmail.com => 'ok', 'smtp_used' => smtp3@gmail.com,
test9@gmail.com => 'ok', 'smtp_used' => smtp2@gmail.com,
test10@gmail.com => 'ok', 'smtp_used' => smtp3@gmail.com,
test11@gmail.com => 'ok', 'smtp_used' => smtp3@gmail.com
);
Таким образом, общее количество сообщений должно быть отправлено только 11, так как мой предел SMTP равен 11 в указанном мной порядке