login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Mailing dubbelop

Offline Juser - 27/04/2006 15:41 (laatste wijziging 27/04/2006 15:43)
Avatar van JuserMySQL interesse Vervolg van mailing probleem:
Situatie is nu dat de mail wel verstuurd wordt, klopt allemaal, maar ik krijg de mail telkens 2x binnen:!:
Als ik uiteindelijk meerdere mensen wil mailen dan is dit natuurlijk niet de bedoeling.

De code komt af van sitemasters.be tutorials.. dus vindt 't raar dat 't 2x gestuurd wordt.
  1. <?
  2. if (IsSet($_POST['submit']))
  3. {
  4. $naam_ontvanger = $_POST['naar_naam'];
  5. $email_ontvanger = $_POST['naar_emailadres'];
  6. $naam_verzender = 'Juser';
  7. $email_verzender = 'emailadres invullen';
  8. $onderwerp = $_POST['onderwerp'];
  9. $bericht_verzender = $_POST['bericht_verzender'];
  10.  
  11. $headers = "From: ".$naam_verzender." <".$email_verzender.">\r\n";
  12. $headers .= "MIME-Version: 1.0\r\n";
  13. $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  14. $headers .= "Return-Path: Mail-Error <info@error.nl>\r\n";
  15. $headers .= "Reply-To: ".$naam_verzender." <".$email_verzender.">\r\n";
  16. $headers .= "Bcc: ".$email_verzender."\r\n";
  17.  
  18. $bericht = " Beste <B>".$naam_ontvanger.",</B>
  19.  
  20. ".$naam_verzender." heeft jou een berichtje gestuurd. Hieronder is zijn berichtje te lezen.
  21.  
  22. ".$bericht_verzender."
  23.  
  24. mvg,
  25. Juser
  26. ";
  27.  
  28. $bericht = nl2br($bericht);
  29. mail($email_ontvanger, $onderwerp, $bericht, $headers);
  30. }
  31. else
  32. {
  33. ?>
  34. <form action="" method="post">
  35. Naam ontvanger: <input type="text" name="naar_naam"><br />
  36. Email ontvanger: <input type="text" name="naar_emailadres"><br /><br />
  37. Onderwerp: <input type="text" name="onderwerp"><br />
  38. bericht:<br />
  39. <textarea name="bericht_verzender"></textarea>
  40. <br /><br />
  41. <input type="submit" name="submit" value="versturen">
  42. </form>
  43. <?
  44. }
  45. ?>

12 antwoorden

Gesponsorde links
Offline marten - 27/04/2006 15:43
Avatar van marten Beheerder wrom nieuw topic 
Offline Juser - 27/04/2006 15:46
Avatar van Juser MySQL interesse Omdat dit een losstaand probleem is, lijkt me wel zo duidelijk.. maar je mag het anders ook rustig onder het 'oude' topic gooien.:p
Offline timo - 27/04/2006 15:49 (laatste wijziging 27/04/2006 15:49)
Avatar van timo PHP ver gevorderde zet eens nadat die mail verstuurd is die;
Offline Juser - 27/04/2006 16:20
Avatar van Juser MySQL interesse Ok, ik heb wat getest en gedaan met het script:
(ziet er inmiddels zo uit):
  1. <?
  2. IF (session_is_registered("sess_loginnaam") && session_is_registered("sess_id"))
  3. {
  4. INCLUDE("connect.php");
  5.  
  6. $sql = mysql_query("SELECT * FROM nieuwsbriefontvangers")or die(mysql_error());
  7. while($assoc = mysql_fetch_assoc($sql))
  8. $voornaam_ontvanger = $assoc['voornaam'];
  9. $tussenvoegsel_ontvanger = $assoc['tussenvoegsel'];
  10. $achternaam_ontvanger = $assoc['achternaam'];
  11. $email_ontvanger = $assoc['email'];
  12.  
  13. {
  14. $sql2 = mysql_query("SELECT * FROM nieuwsbrief ORDER BY id DESC LIMIT 1")or die(mysql_error());
  15. $assoc2 = mysql_fetch_assoc($sql2);
  16. $naam_verzender = 'Juser';
  17. $email_verzender = 'info@domeinnaam.nl';
  18. $onderwerp = $assoc2['titel'];
  19. $bericht_verzender = $assoc2['bericht'];
  20. }
  21.  
  22. $headers = "From: ".$naam_verzender." <".$email_verzender.">\r\n";
  23. $headers .= "MIME-Version: 1.0\r\n";
  24. $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  25. $headers .= "Return-Path: Mail-Error <info@domeinnaam.nl>\r\n";
  26. $headers .= "Reply-To: ".$naam_verzender." <".$email_verzender.">\r\n";
  27. $headers .= "Bcc: ".$email_verzender."\r\n";
  28.  
  29. $bericht = " Beste ".$voornaam_ontvanger." ".$tussenvoegsel_ontvanger." ".$achternaam_ontvanger.",
  30.  
  31. ".$naam_verzender." heeft jou een berichtje gestuurd. Hieronder is zijn berichtje te lezen.
  32.  
  33. ".$bericht_verzender."
  34.  
  35. mvg,
  36. Juser
  37. ";
  38.  
  39. $bericht = nl2br($bericht);
  40. mail($email_ontvanger, $onderwerp, $bericht, $headers);
  41.  
  42. ECHO"<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=?pagina=index.php\">";
  43. }
  44. ELSE
  45. {
  46. <META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=../index.php\">
  47. ";
  48. }
  49. ?>


En dit zijn m'n tabellen:
CREATE TABLE nieuwsbrief (
id int(11) NOT NULL auto_increment,
datum date NOT NULL default '0000-00-00',
titel varchar(25) NOT NULL default '',
bericht text NOT NULL,
UNIQUE KEY id (id)
) TYPE=MyISAM;

CREATE TABLE nieuwsbriefontvangers (
id int(11) NOT NULL auto_increment,
voornaam varchar(50) default NULL,
tussenvoegsel varchar(50) default NULL,
achternaam varchar(50) default NULL,
adres varchar(100) NOT NULL default '',
huisnummer varchar(50) NOT NULL default '',
huisnummertoevoeging char(2) NOT NULL default '',
postcode varchar(10) NOT NULL default '',
woonplaats varchar(100) NOT NULL default '',
telefoon varchar(12) NOT NULL default '',
fax varchar(12) NOT NULL default '',
email varchar(50) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;

Maarre.. hij stuurt het telkens naar het info@domeinnaam.nl, niet naar het adres wat ik in de database heb staan bij nieuwsbriefontvangers:s
Offline timo - 27/04/2006 16:23
Avatar van timo PHP ver gevorderde je kan niet een meta ergens midden op de pagina zetten, gebruik header("Location: pagina.php") (zet wel bovenaan dan ob_start(); en onderaan ob_end_flush();)
Offline Ultimatum - 27/04/2006 16:24
Avatar van Ultimatum PHP expert dit moet in je while loop
  1. $voornaam_ontvanger = $assoc['voornaam'];
  2. $tussenvoegsel_ontvanger = $assoc['tussenvoegsel'];
  3. $achternaam_ontvanger = $assoc['achternaam'];
  4. $email_ontvanger = $assoc['email'];


op het moment staat het er buiten, want de { van while begint 2 regels onder de zooi tekst die ik je liet zien

volgens mij moet je mail(); functie ook in je while loop aangezien hij anders maar 1 x verstuurd 
Offline Juser - 27/04/2006 16:31
Avatar van Juser MySQL interesse Ik heb nu het hele zaakje in de WHILE loop hangen
  1. while($assoc = mysql_fetch_assoc($sql))
  2. {
  3. $voornaam_ontvanger =

tot en met
  1. $bericht = nl2br($bericht);
  2. mail($email_ontvanger, $onderwerp, $bericht, $headers);
  3. }

Maar hij haalt wel 2x de goede naam uit de database, maar stuurt nog steeds het bericht naar hetzelfde (1ste) adres. Nu wel twee verschillende trouwens.. ofwel alle mails komen op 1 en hetzelfde adres terecht.:'(
Offline ikkedikke - 27/04/2006 16:31
Avatar van ikkedikke PHP expert waarschijnlijk mail je het naar jezelf. in de headers staat dat er een kopie (BCC:...) naar de verzender gaat. als je zometeen 200 mensen een mailtje wil sturen is dit geen leuk idee 
Offline Juser - 27/04/2006 16:44
Avatar van Juser MySQL interesse Ok, aangepast.

Nu krijg ik aan het info@mijndomein.nl wel netjes 1 mail binnen, welke ook voor mij bestemd is, klopt helemaal.
Maar het tweede adres (@hotmail.com) ontvangt niks van mij.
Offline kokx - 27/04/2006 16:46
Avatar van kokx Onbekend Staat hotmail soms op de spamlist van je host?
Offline ikkedikke - 27/04/2006 16:49
Avatar van ikkedikke PHP expert ik denk dat die return path en reply to niet samen gepikt worden. probeer is een van die 2 weg te laten
Offline Juser - 27/04/2006 17:28 (laatste wijziging 27/04/2006 17:41)
Avatar van Juser MySQL interesse Heb ik gedaan, maar krijg gewoon geen mail terecht bij een hotmail account. Heb een mail gestuurd naar mijn host, maar hier nog geen reactie op, begin steeds sterker vermoeden te krijgen dat hotmail op de spamlist staat en er dus niks verstuurd kan worden naar dergelijke adressen.

Edit:
Het ligt idd bij mijn host, ik heb namelijk na enkele planet, hetnet en andere domeinen gemaild, gaat perfect. Dus bij deze, ik dank u allen hartelijk.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.227s