我使用的PHPMailer發送電子郵件,我用它來添加電子郵件地址發送到:的PHPMailer發送到由分隔的多個地址,
$email->AddAddress($result["emailto"]);
我的電子郵件地址是從數據庫中來,它的工作原理正常,但如果我的數據庫中emailto列的樣子:
[email protected],[email protected]
我得到一個錯誤說您必須提供至少一個收件人的電子郵件地址。
我怎樣才能得到這個能夠發送到多個地址?
我使用的PHPMailer發送電子郵件,我用它來添加電子郵件地址發送到:的PHPMailer發送到由分隔的多個地址,
$email->AddAddress($result["emailto"]);
我的電子郵件地址是從數據庫中來,它的工作原理正常,但如果我的數據庫中emailto列的樣子:
[email protected],[email protected]
我得到一個錯誤說您必須提供至少一個收件人的電子郵件地址。
我怎樣才能得到這個能夠發送到多個地址?
你應該爆炸它,然後添加電子郵件。
$addresses = explode(',', $result["emailto"]);
foreach ($addresses as $address) {
$email->AddAddress($address);
}
//Explode by comma so that we get an array of emails.
$emailsExploded = explode(",", $result["emailto"]);
//If the array isn't empty, loop through
if(!empty($emailsExploded)){
foreach($emailsExploded as $emailAddress){
$email->AddAddress(trim($emailAddress));
}
} else{
//This should not be the case.
throw new Exception('No emails found!');
}
的問題是,你必須多次調用做AddAddress
或使用;代替,
嘗試這樣做:
$email_array = explode(',', $result['emailto']);
for($i = 0; $i < count($email_array); $i++) {
$email->AddAddress($email_array[$i]);
}
你可以做的,性格爆炸,然後做一個foreach槽陣列添加不會忽略。
$addresses = explode(',',$result["emailto"]);
foreach ($addresses as $address){
$email->AddAddress($address);
}
這工作正常,但你有@Chen Asraf完全相同的答案,我不知道誰回答第一 – charlie
你可以用一個陣列,這樣的嘗試:
$array = explode(",",$result["emailto"]);
$nb = count($array);
for ($i=0;$i<$nb;$i++) {
$email->AddAddress($array[$i]);
}
只需添加foreach (explode($result["emailto"], ',') as $email) {$email->AddAddress($email);}
這工作得很好,但是你有完全一樣的答案@Hans杜波依斯和林不知道誰先回答 – charlie
懸停的時間,我打了他1分鐘;) – casraf
所以你做:)看起來像他抄襲你! :D謝謝 – charlie