Beste mensen.

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.


// 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();


Heb dit bijvoorbeeld geprobeerd, maar dat werkt niet.


    if(!$row->email2){
			$email = $row->email1;
		} else{
			$email = $row->email1;
			$email = $row->email2;
$email = $row->email1;
$email = $row->email2;

Je overschrijft gewoon de eerste. Logisch dus dat ie alleeen naar de tweede gaat.
I see. Ik gebruik nu dit en dat werkt wel, maar niet helemaal juist.

Want wanneer email2 deze mail ontvangt staat er bij ontvanger: email1 terwijl er in de headers wel Envelope-to: email2 staat.


// 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(); 

Dan gaat er iets niet goed in de SMTP class, of je voegt een eigen header toe.

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.

Reageren