Vraag & Antwoord

Webprogrammeren & scripting

PHP mail naar meerdere adressen

9 antwoorden
  • Hoi, Ik wil een mail naar een aantal adressen sturen, maar op een of andere manier werkt het niet helemaal. Heb het volgende gedaan: Ik heb een array met mailadressen en die wil ik zo aflopen-> [code:1:876de475b1]foreach ($adressen as $adres){ mail($to, $subject, $message, $headers); echo("mail verzonden aan : " .$adres."<BR>"); }[/code:1:876de475b1] De echo wordt gewoon goed weergegeven, maar meestal komt de mail niet aan, en als hij wel aankomt, dan komt alleen het 1e mailadres aan. Zou iemand misschien weten waar dit aan kan liggen ? Ik denk ook dat dit misschien niet echt een efficiente manier is, heeft iemand misschien een tip voor me? thx
  • euhm je doet iets verkeert: [code:1:c06ebb8dcf] foreach ($adressen as $adres){ mail($adres, $subject, $message, $headers); echo("mail verzonden aan : " .$adres."<BR>"); } [/code:1:c06ebb8dcf] je hebt $to ipv. $adres ;)
  • Ja, ik zie het nu ook, was even een foutje met kopieren. Maar het probleem blijft nog steeds hetzelfde. Ik krijg de mail alleen binnen op het eerste mailadres in de array.
  • Het zou gewoon moeten werken, zou je het erg vinden om te laten zien hoe die array er uit ziet (de mail adressen mag je verandersen in XX@xx.nl of zo..)
  • Nou, de adressen haalt hij uit een cvs file, op deze manier [code:1:5a2557b7fc]$row = 1; $fp = fopen ("adressen.csv","r"); while ($data = fgetcsv ($fp, 1000, ",")) { $num = count ($data); $row++; for ($c=0; $c < $num; $c++) { $adressen[] = $data[$c]; } } fclose ($fp);[/code:1:5a2557b7fc] en als ik die doorloop schrijft hij gewoon die adressen naar het scherm, dus daarom ging ik er vanuit dat dat wel goed zat. Zal het eens proberen met een array die ik handmatig vul.
  • en wat als je het probeert met een direct array ? [code:1:6bae2983f5] $adressen = array('xx@xx.nl', 'yy@yy.nl', 'zz@zz.nl'); [/code:1:6bae2983f5] Komt hij dan wel aan ?
  • Nee, heel vreemd, maar dan komt dus alleen het adres wat als eerste in de array staat aan. Heel raar, want de die echo doet hij wel met alle adressen. Zou het misschien iets van de provider kunnen zijn ofzo, dat je moet vaak achter elkaar die functie aan mag roepen ofzo? Bedankt voor je tijd in ieder geval
  • Zo makkelijk geef ik nog niet op :) . maar ik ga me er zo zelf ook aan wagen, dus je hoort het nog van mij ;) .
  • Sorry voor de dubbelpost. Nou mij is het gelukt: [code:1:0abc92ecab] switch($_POST['team_lid']){ case 1: $adressen = array('XX@gmail.com', 'XX@hotmail.com', 'XX@hotmail.com'); break; case 2: $adressen = array('xx@gmail.com'); break; case 3: $adressen = array('xx@hotmail.com'); break; case 4: $adressen = array('xx@hotmail.com'); break; default: $adressen = array('xx@gmail.com', 'xx@hotmail.com', 'xx@hotmail.com'); break; } // ^switch functie voor bepalen adressen, foreach($adressen as $adres){ $mail = mail($adres, $subject, $message, $headers); } $mail2 = mail($_POST['email'], 'Kopie van verzonden mail',$message2, $headers); [/code:1:0abc92ecab] Zo doet die het perfect :)

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.