login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Mailing

Offline Juser - 27/04/2006 13:52 (laatste wijziging 27/04/2006 13:59)
Avatar van JuserMySQL interesse Ik wil een mailinglist maken, hiervoor heb ik een script.. maar ik begreep uit andere topics dat ik dan ook nog een wijziging moet aanmaken in php.ini. Hier zou dan de smtp-server gewijzigd moeten worden als ik het goed heb.

Nu is het probleem dat ik zelf niet aan php.ini kan, en het bedrijf waar ik het domein host wil/kan het niet aanpassen, en 'adviseren' mij om localhost te gebruiken als smtp-server. Kan het dan ooit werken???
(Of kan ik er iets op maken in een php-script of zoiets?)

14 antwoorden

Gesponsorde links
Offline marten - 27/04/2006 13:54
Avatar van marten Beheerder als je mailinglist niet al te lang word kan je via de functie mail() versturen
Offline Juser - 27/04/2006 13:57 (laatste wijziging 27/04/2006 13:57)
Avatar van Juser MySQL interesse Ik heb er dit script voor:

  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. {
  9. $sql2 = mysql_query("SELECT * FROM nieuwsbrief ORDER BY id DESC LIMIT 1")or die(mysql_error());
  10. $assoc2 = mysql_fetch_assoc($sql2);
  11. mail($assoc['email'], $assoc2['titel'], $assoc2['bericht']);
  12. }
  13.  
  14. ECHO"<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=?pagina=nieuwsbrief/main_nieuwsbrief.php\">";
  15. }
  16. ELSE
  17. {
  18. <META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=../index.php\">
  19. ";
  20. }
  21. ?>


Maar er wordt niks verstuurd. Krijg ook geen foutmelding of niks, wat doe ik fout dan?
Offline marten - 27/04/2006 14:01 (laatste wijziging 27/04/2006 14:03)
Avatar van marten Beheerder
Citaat:
Note: If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use isset() to check a variable is registered in $_SESSION.


verder zijn er wel enkele topics over dat de mail niet verstuurd word. Kijk eens of je daar wat in kan vinden . Meestal met je headers te maken.

Ik zit te kijken want je kan aan mail() ook meegeven welke smtp server je wilt gebruiken als ik het zo lees.....

Citaat:
Note: If messages are not received, try using a LF (n) only. Some poor quality Unix mail transfer agents replace LF by CRLF automatically (which leads to doubling CR if CRLF is used). This should be a last resort, as it does not comply with RFC 2822.
Offline Juser - 27/04/2006 14:39
Avatar van Juser MySQL interesse Ik heb idd nu ook wat gevonden hiervoor:

  1. <?
  2.  
  3. $to = "info@domein.nl";
  4. $nameto = "Info";
  5. $from = "postmaster@domein.nl";
  6. $namefrom = "Postmaster";
  7. $subject = "Test";
  8. $message = "Test mail."
  9. mail($from, $namefrom, $to, $nameto, $subject, $message);
  10.  
  11. function mail($from, $namefrom, $to, $nameto, $subject, $message)
  12. {
  13. $smtpServer = "smtp.wanadoo.nl";
  14. $port = "25";
  15. $timeout = "30";
  16. $username = "gebruikersnaam";
  17. $password = "paswoord";
  18. $localhost = "localhost";
  19. $newLine = "\r\n";
  20.  
  21. $smtpConnect = fsockopen($smtpServer, $port, $errno, $errstr, $timeout);
  22. $smtpResponse = fgets($smtpConnect, 515);
  23. if(empty($smtpConnect))
  24. {
  25. $output = "Failed to connect: $smtpResponse";
  26. return $output;
  27. }
  28. else
  29. {
  30. $logArray['connection'] = "Connected: $smtpResponse";
  31. }
  32.  
  33. fputs($smtpConnect,"AUTH LOGIN" . $newLine);
  34. $smtpResponse = fgets($smtpConnect, 515);
  35. $logArray['authrequest'] = "$smtpResponse";
  36.  
  37. fputs($smtpConnect, base64_encode($username) . $newLine);
  38. $smtpResponse = fgets($smtpConnect, 515);
  39. $logArray['authusername'] = "$smtpResponse";
  40.  
  41. fputs($smtpConnect, base64_encode($password) . $newLine);
  42. $smtpResponse = fgets($smtpConnect, 515);
  43. $logArray['authpassword'] = "$smtpResponse";
  44.  
  45. fputs($smtpConnect, "HELO $localhost" . $newLine);
  46. $smtpResponse = fgets($smtpConnect, 515);
  47. $logArray['heloresponse'] = "$smtpResponse";
  48.  
  49. fputs($smtpConnect, "MAIL FROM: $from" . $newLine);
  50. $smtpResponse = fgets($smtpConnect, 515);
  51. $logArray['mailfromresponse'] = "$smtpResponse";
  52.  
  53. fputs($smtpConnect, "RCPT TO: $to" . $newLine);
  54. $smtpResponse = fgets($smtpConnect, 515);
  55. $logArray['mailtoresponse'] = "$smtpResponse";
  56.  
  57. fputs($smtpConnect, "DATA" . $newLine);
  58. $smtpResponse = fgets($smtpConnect, 515);
  59. $logArray['data1response'] = "$smtpResponse";
  60.  
  61. $headers = "MIME-Version: 1.0" . $newLine;
  62. $headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine;
  63. $headers .= "To: $nameto <$to>" . $newLine;
  64. $headers .= "From: $namefrom <$from>" . $newLine;
  65.  
  66. fputs($smtpConnect, "To: $to\nFrom: $from\nSubject: $subject\n$headers\n\n$message\n.\n");
  67. $smtpResponse = fgets($smtpConnect, 515);
  68. $logArray['data2response'] = "$smtpResponse";
  69.  
  70. fputs($smtpConnect,"QUIT" . $newLine);
  71. $smtpResponse = fgets($smtpConnect, 515);
  72. $logArray['quitresponse'] = "$smtpResponse";
  73. }
  74. ?>


Maar krijg hierbij dan weer deze melding:
Parse error: parse error, unexpected T_STRING in /usr/home/web/snl90663/mailing/mailingtest.php on line 9

Maar ik kan er geen fout in vinden.. wie wel?
Offline Ibrahim - 27/04/2006 14:45 (laatste wijziging 27/04/2006 14:48)
Avatar van Ibrahim PHP expert mail () bestaat al dus je kunt geen eigen functie maken

+

mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )

dus al die variabelen werken dan niet max 5 parameters 
Offline Juser - 27/04/2006 14:53
Avatar van Juser MySQL interesse Ok, als ik die aanpas naar bijvoorbeeld:
  1. authenticationemail($from, $namefrom, $to, $nameto, $subject, $message);
  2.  
  3. function authenticationemail($from, $namefrom, $to, $nameto, $subject, $message)


Dan behoudt ik dezelfde fout (& melding).
Offline kokx - 27/04/2006 15:01
Avatar van kokx Onbekend
  1. $subject = "Test";
  2. $message = "Test mail."
  3. mail($from, $namefrom, $to, $nameto, $subject, $message);

==>
  1. $subject = "Test";
  2. $message = "Test mail.";
  3. mail($from, $namefrom, $to, $nameto, $subject, $message);

Je was een ; vergeten.
Offline Ibrahim - 27/04/2006 15:02
Avatar van Ibrahim PHP expert je moet eerst de functie aanmaken en dan pas de functie aanroepen anders werkt ie ook niet 
Offline kokx - 27/04/2006 15:05
Avatar van kokx Onbekend @siliecom14: Dat maakt sinds php 4 niet meer uit. Dat moest wel in php3 en eerder.
Offline Juser - 27/04/2006 15:13
Avatar van Juser MySQL interesse Ok, krijg geen melding meer nu.. maarre.. er wordt ook niks verstuurd:?: 
Even voor de duidelijkheid nogmaals:
Ik heb geen aanpassingen gemaakt in php.ini omdat ik hier niet aan kan/mag van het bedrijf waar ik het domein host.
Offline Thomas - 27/04/2006 15:16 (laatste wijziging 27/04/2006 15:17)
Avatar van Thomas Moderator Euh, als je ergens (extern) hosting hebt, dan zouden het hosting-bedrijf ervoor moeten zorgen dat alles goed geconfigureerd is. Als je mail mag versturen, zou dit gewoon moeten werken.

Probeer eens gewoon een mailtje te versturen met mail(), zonder iets in te stellen, zou ik zeggen.
Offline Juser - 27/04/2006 15:22 (laatste wijziging 27/04/2006 15:32)
Avatar van Juser MySQL interesse Ok, heb ik gedaan. Script gebruikt van hier: http://www.site...&id=44
maar wordt niks verstuurd, wederom geen (fout)meldingen.

Edit:
Mail werkt nu wel, ideaal, bedankt voor de geboden hulp.

Citaat:
geduld is een schone zaak^^
Offline kokx - 27/04/2006 15:26
Avatar van kokx Onbekend Naar welk e-mail adres en van welk e-mail adres. Het kan zijn dat je provider een black-list gebruikt (spamcop bijv.) dan kan je naar sommigge adressen geen mail versturen en van ontvangen.
Offline Juser - 27/04/2006 15:38
Avatar van Juser MySQL interesse Dit topic mag wat mij betreft gesloten worden
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.413s