我有一個應用程序運行在wordpress(使用$ wpdb)通過電子郵件發送文本。他們發送到[email protected]地址,該地址發送手機短信。通過電子郵件地址發送文本消息 - 故障信息
我注意到一些運營商將長文本視爲媒體消息,因此我的代碼將長消息拆分爲多封電子郵件。下面是代碼:
for ($i=0; $i<count($recipientEmail); $i++) {
$to = $recipientEmail[$i];
if (strlen($message) > 115) {
// ceil rounds any fractions up
$numTexts = ceil(strlen($message)/115);
$zero = 0;
$onetwentyfive = 115;
$noRepeatconfirmations = '';
for ($n=0; $n<$numTexts; $n++) {
$messagePart = substr($message, $zero, $onetwentyfive);
$messagePart .= "\r\n".($n+1)." of ".$numTexts;
if ($n > 0) {
$messagePart = '-'.$messagePart;
}
// if (!filter_var($to, FILTER_VALIDATE_EMAIL)) {
if (!wp_mail($to, $subject, $messagePart, $headers)) {
return false;
} else {
if ($noRepeatconfirmations !== $recipientEmail[$i]) {
$total .= $recipientEmail[$i].", ";
}
$noRepeatconfirmations = $recipientEmail[$i];
}
$zero += 115;
$onetwentyfive += 115;
}
} else {
// if (!filter_var($to, FILTER_VALIDATE_EMAIL)) {
if (!wp_mail($to, $subject, $message, $headers)) {
return false;
} else {
$total .= $recipientEmail[$i].", ";
}
}
}
我的問題是,當我發送長警惕自己發送以正確的順序,但是當我將消息發送到150+的人它在一個奇怪的順序發送(第3 ,1日,2日)。
我想知道是否有一種方法可以在我的代碼中使用,或者我的郵件服務器上的設置可以用來使消息按順序發送。
查看此答案http://stackoverflow.com/a/26661243/它可以幫助您瞭解如何對數組進行排序。我沒有downvote順便說一句。我知道排序陣列有時會很困難,我無法幫助任何進一步的尼古拉斯。如果這個答案沒有幫助,或者看起來很複雜,那麼在Google上使用「sort numbers array PHP」進一步研究。祝你好運。 – 2014-10-30 19:16:04
順便說一下,通過電子郵件發送短信的工作量很小,但不要指望運營商允許它,如果你開始推高音量。爲此你需要Twilio之類的東西。 – ceejayoz 2014-10-30 21:18:29