PHP script icm SMTP sturen naar meerdere email adressen
Op dit moment gebruik ik het volgende PHP script icm een SMTP class.
Als men een 2e email ingevuld heeft dan gaat de email alleen naar nr 2 en niet naar nr 1.
Maar nu wil ik het script veranderen, zodat de email naar beide mails wordt gestuurd.
Heb al een hoop geprobeerd en gegoogled, maar het wil niet lukken.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Email
if(!$row->email2){
$email = $row->email1;
} else{
$email = $row->email2;
// E-mail to
if(!is_array($email)){
$mail->ClearAddresses();
$mail->AddAddress($email);
$mail->Send();
} else{
foreach($email as $email){
$mail->ClearAddresses();
$mail->AddAddress($email);
$mail->Send();
if(!$row->email2){
$email = $row->email1;
} else{
$email = $row->email2;
// E-mail to
if(!is_array($email)){
$mail->ClearAddresses();
$mail->AddAddress($email);
$mail->Send();
} else{
foreach($email as $email){
$mail->ClearAddresses();
$mail->AddAddress($email);
$mail->Send();
Heb dit bijvoorbeeld geprobeerd, maar dat werkt niet.
Code (php)
1
2
3
4
5
2
3
4
5
if(!$row->email2){
$email = $row->email1;
} else{
$email = $row->email1;
$email = $row->email2;
$email = $row->email1;
} else{
$email = $row->email1;
$email = $row->email2;
Gewijzigd op 23/01/2014 14:16:55 door Die hard
$email = $row->email2;
Je overschrijft gewoon de eerste. Logisch dus dat ie alleeen naar de tweede gaat.
Want wanneer email2 deze mail ontvangt staat er bij ontvanger: email1 terwijl er in de headers wel Envelope-to: email2 staat.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Email
if(!$row->email2){
$email = $row->email1;
} else{
$email = $row->email1;
$email2 = $row->email2;
// E-mail to
if(!is_array($email)){
$mail->ClearAddresses();
$mail->AddAddress($email);
$mail->Send();
} else{
foreach($email as $email){
$mail->ClearAddresses();
$mail->AddAddress($email);
$mail->Send();
if(!is_array($email2)){
$mail->ClearAddresses();
$mail->AddAddress($email2);
$mail->Send();
} else{
foreach($email2 as $email2){
$mail->ClearAddresses();
$mail->AddAddress($email2);
$mail->Send();
if(!$row->email2){
$email = $row->email1;
} else{
$email = $row->email1;
$email2 = $row->email2;
// E-mail to
if(!is_array($email)){
$mail->ClearAddresses();
$mail->AddAddress($email);
$mail->Send();
} else{
foreach($email as $email){
$mail->ClearAddresses();
$mail->AddAddress($email);
$mail->Send();
if(!is_array($email2)){
$mail->ClearAddresses();
$mail->AddAddress($email2);
$mail->Send();
} else{
foreach($email2 as $email2){
$mail->ClearAddresses();
$mail->AddAddress($email2);
$mail->Send();
Gewijzigd op 23/01/2014 16:37:57 door die hard
De To: header is wat door de clients wordt lezen, en wordt overruled door de Envelope-to header (die door de SMTP server wordt aangemaakt), de laatste bepaald waar het daadwerkelijk afgeleverd wordt.
Gewijzigd op 23/01/2014 18:00:54 door Ger van Steenderen