我有一系列电子邮件地址,我正在发送电子邮件。
我想通过交替使用域名对它们进行排序,所以如果我有30个@ gmail.com,30个@yahoo.com和30个@ aol.com,那么排序会产生@ gmail.com,然后是@yahoo .com,然后是@ aol.com,然后是@gmail.com等等。
排序将尽可能地交替排列,以便连续存在相同的域名。
为什么:为防止被视为垃圾邮件来源,最好“限制”电子邮件发送,或者在每次发送之间休眠,以便邮件服务器在短时间内不会被垃圾邮件快速击中多次。相反,我想这样做是为了在电子邮件提供商被我击中之间创建一个延迟,但不会停止我的脚本并导致我的最终用户延迟。
答案 0 :(得分:1)
我可以这样做:
$organized_emails = array();
$needle_key = 0;
$needle_search = array('gmail', 'yahoo', 'aol', 'others');
while(true) {
$current_value = array_shift($emails);
if(strpos($current_value, $needle_search[$needle_key]) !== false) {
$organized_emails[] = $current_value;
$needle_key++;
if($needle_key > 3) {
$needle_key = 0;
}
} else {
array_push($emails, $current_value);
}
if(empty($emails)) {
break;
}
}