Toon posts:

[php] mail functie weigert mail te verzenden

Pagina: 1
Acties:
  • 116 views sinds 30-01-2008

Verwijderd

Topicstarter
Hey,

Ik heb thuis een mailscriptje gemaakt, die het een en ander aan informatie ophaalt uit een formulier met POST en deze vervolgens moet verzenden.
De code:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
$ontvanger = "mijnmail@hotmail.com";
    $verzender = "From:'".$_POST["email"]."'";
    $returnmail = "-fmijnmail@hotmail.com";
    $onderwerp = "Account aanvraag website";
    $inhoud = "Graag de volgende gegevens toevoegen:
           Naam: $_POST[voornaam] $_POST[achternaam]
           E-mail: $_POST[email]
           Inlognaam: $_POST[loginnaam] 
           Password: $_POST[password]
           Reden: $_POST[reden]";
    
    mail($ontvanger, $onderwerp, $inhoud, $verzender, $returnmail);


Nu is het zo dat er geen error oid verschijnt, maar de mail komt niet aan.
Ik ben er ondertussen wel achter dat het script gewoon werkt, aangezien ik hem op mijn stage heb getest en daar werkt ie gewoon.
Echter thuis gebeurt er niets. Ik heb de pagina draaien op een server waarom iis is geinstalleerd en de smtp draait.
moet ik nog iets doorverwijzen in mijn router ofzo ?

iemand enig id waar het aan kan liggen ?
ik heb overigens ook het doorsturen in de properties van de virtuele smtp al ingesteld op "all except the list below"

Ik ben benieuwd.
Alvast bedankt !

  • getty
  • Registratie: Januari 2001
  • Laatst online: 08-04 13:22
Probeer eens geen hotmail adres als ontvanger in te vullen. Hotmail is heel nauwkeurig met het ontvangen van email, dus als het op een ander emailadres wel werkt kun je je script gaan optimaliseren voor hotmail.

A computer is almost human - except that it does not blame its mistakes on another computer.


Verwijderd

Topicstarter
Daar had ik ook al aan gedacht, maar dit verhelpt het probleem ook niet, en daar komt bij dat wanneer ik het dus probeer op mijn stage...werkt het wel gewoon... er zit dus hier iets fout in de instellingen denk ik....

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 22:26

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$ontvanger = "mijnmail@hotmail.com"; 
    $verzender = "From:'".$_POST['email']."'"; 
    $returnmail = "-fmijnmail@hotmail.com"; 
    $onderwerp = "Account aanvraag website"; 
    $inhoud =
"Graag de volgende gegevens toevoegen: Naam:" . 
$_POST['voornaam'] .
$_POST['achternaam'] . 
"E-mail:" . 
$_POST['email'] . 
"Inlognaam:" . 
$_POST['loginnaam'] . 
"Password:" . 
$_POST['password'] . 
"Reden:" . 
$_POST['reden'] . 
""; 
     
    mail($ontvanger, $onderwerp, $inhoud, $verzender, $returnmail);
?> 


Zo :)

[ Voor 46% gewijzigd door We Are Borg op 15-03-2004 08:24 ]


Verwijderd

Topicstarter
Uhm, das cker alleen wat betreft de opmaak van het mailtje ?

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 22:26

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Verwijderd schreef op 15 maart 2004 @ 08:26:
[...]


Uhm, das cker alleen wat betreft de opmaak van het mailtje ?
Nee :)

PHP:
1
    $verzender = "From:'".$_POST["email"]."'";


Bovenstaande is goed

PHP:
1
2
  $inhoud = "Graag de volgende gegevens toevoegen: 
           Naam: $_POST[voornaam] $_POST[achternaam] 


Dit is fout. Kijk ook maar naar de syntaxhighlighting . Je hoort $_POST['voornaam'] te doen + je moet deze dingen scheiden met een punt. Ik zet het alleen voor mezelf onder elkaar, maar dat hoef jij niet te doen. Dat is ook niet de verandering. Al getest?

[ Voor 11% gewijzigd door We Are Borg op 15-03-2004 08:29 ]


  • WhizzCat
  • Registratie: November 2001
  • Laatst online: 03-10-2025

WhizzCat

www.lichtsignaal.nl

Verwijderd schreef op 15 maart 2004 @ 08:26:
[...]


Uhm, das cker alleen wat betreft de opmaak van het mailtje ?
Nope, je var inhoud mag je niet zomaar tussen door strings en andere vars gebruiken. Die moet je concateneren zoals dat heet met de punt ;)

Verder zie ik eigenlijk ook niet waarom dit wel zou moeten werken om eerlijk te zijn

je "Aan" veld hoeft met een gewoon email adres alleen maar het email adres te bevatten.

Je zou ook eens kunnen kijken of je mail server in php.ini goed staat ;)

-edit2-

Ik denk nu echt dat het aan je php.ini ligt

[ Voor 26% gewijzigd door WhizzCat op 15-03-2004 08:32 ]

Gezocht: netwerkbeheerder
Als je het niet aan een 6-jarige kan uitleggen, snap je er zelf ook niks van! - A. Einstein


  • sjroorda
  • Registratie: December 2001
  • Laatst online: 20:02
We Are Borg schreef op 15 maart 2004 @ 08:29:
PHP:
1
    $verzender = "From:'".$_POST["email"]."'";

Bovenstaande is goed
Weet je dat zeker? Enkele quotes om het from-adres heen? Kan het even niet testen nu, maar zelf doe ik het altijd zonder, en dat klinkt mij ook logischer in de oren.

[ Voor 26% gewijzigd door sjroorda op 15-03-2004 08:33 ]


  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 22:26

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
sjroorda schreef op 15 maart 2004 @ 08:33:
[...]

Weet je dat zeker? Enkele quotes om het from-adres heen? Kan het even niet testen nu, maar zelf doe ik het altijd zonder, en dat klinkt mij ook logischer in de oren.
Ik doelde meer op het scheiden van de gegevens met een PUNT (de vakjargon laat ik graag aan iemand anders over ;) en het gebruik van $_POST. Voor de rest heb ik er eigenlijk niet naar gekeken :P. Hij kwam bij mij gewoon door de test heen. Maar je hebt gelijk, $verzender en $returnmail kloppen ook niet (eenvoudig foutje) maar dat mag de TS'er zelf opzoeken ;)

[ Voor 16% gewijzigd door We Are Borg op 15-03-2004 08:37 ]


Verwijderd

Topicstarter
Ik heb nog niets verandert in mijn PHP.ini.
en wat betreft de code...in pincipe is die gewoon goed zo..als de mail eenmaal verzonden wordt kan ik altijd nog even naar de opmaak e.d. gaan kijken, maar ik krijg al niet eens een mail binnen, terwijl de code gewoon goed is zo..ik heb de pagina namelijk gekopieert naar de localhost van de pc op mijn stage, en toen ik daar op verzenden klikte had ik gewoon binnen 1 min een mail inclusief de juiste inhoudt...

  • WhizzCat
  • Registratie: November 2001
  • Laatst online: 03-10-2025

WhizzCat

www.lichtsignaal.nl

Verwijderd schreef op 15 maart 2004 @ 08:38:
Ik heb nog niets verandert in mijn PHP.ini.
en wat betreft de code...in pincipe is die gewoon goed zo..als de mail eenmaal verzonden wordt kan ik altijd nog even naar de opmaak e.d. gaan kijken, maar ik krijg al niet eens een mail binnen, terwijl de code gewoon goed is zo..ik heb de pagina namelijk gekopieert naar de localhost van de pc op mijn stage, en toen ik daar op verzenden klikte had ik gewoon binnen 1 min een mail inclusief de juiste inhoudt...
Dan lijkt het me toch dat je mail server instellingen thuis niet goed zijn :)

Gezocht: netwerkbeheerder
Als je het niet aan een 6-jarige kan uitleggen, snap je er zelf ook niks van! - A. Einstein


Verwijderd

Topicstarter
kijk...dat d8 ik dus ook al...ook enig id WAT er niet goed kan zijn ?? B) ;)

Verwijderd

heb je wel in php.ini je register_globals on staan? anders snapt hij volgens mij $_POST niet...

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 23:53

Reptile209

- gers -

Verwijderd schreef op 15 maart 2004 @ 08:43:
kijk...dat d8 ik dus ook al...ook enig id WAT er niet goed kan zijn ?? B) ;)
Die ene komma daar rechts aan het einde staat niet goed 8)7 :)
Post anders even het relevante deel van je PHP.ini (of waar dat dan ook ingesteld kan worden).

[ Voor 37% gewijzigd door Reptile209 op 15-03-2004 08:47 ]

Zo scherp als een voetbal!


Verwijderd

Topicstarter
Verwijderd schreef op 15 maart 2004 @ 08:45:
heb je wel in php.ini je register_globals on staan? anders snapt hij volgens mij $_POST niet...
Nou, hij geet geen error wat betreft variabelen die hij mist/niet kent ofzow, dus dat zit allemaal wel goed...

Verwijderd

heb je een DNS server ingevuld in je configuratie? Ik was dat bij een thuis config ook een keer vergeten en dan kan sendmail dus geen mail uitsturen.

Verwijderd

Topicstarter
Dit is het stukje wat betreft de SMTP in php.ini

[mail function]
; For Win32 only.
SMTP = localhost ; for Win32 only
sendmail_from= me@localhost.com ; for Win32 only

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

Verwijderd

Topicstarter
Verwijderd schreef op 15 maart 2004 @ 09:00:
heb je een DNS server ingevuld in je configuratie? Ik was dat bij een thuis config ook een keer vergeten en dan kan sendmail dus geen mail uitsturen.
Waar had dat ingevuld moeten staan ongeveer?
en...wat moet er staan?

[ Voor 5% gewijzigd door Verwijderd op 15-03-2004 09:06 ]


  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 21-05 00:41

WPN

we zitten nu allemaal te kijken naar de code....

maar weet je wel zeker dat je SMTP server goed werkt?
heb je geprobeert om mailtjes te versturen via een client inplaats van een webpagina....

test het met een client
werkt het met de client wel, dan moet je kijken of je authenticatie nodig heb om berichten te versturen en als dat zo is of je het dan wel zeker weten goed heb ingesteld om toe te laten dat er mailtjes worden verzonden door je localhost...

werkt dat niet dan ff een (freeware of trial) 3rd party smtp server installen, die met een client werkend krijgen en dan met je pagina testen...

ps: persoonlijk vind ik de ingebouwde smtp bij iis bagger


edit: staat je smtp server ook ingestelt op localhost in je PHP.INI?

[ Voor 6% gewijzigd door WPN op 15-03-2004 09:09 ]

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 00:12

Pelle

🚴‍♂️

Euh, dit is meer iets voor de buren.

Verwijderd

Topicstarter
Pelle schreef op 15 maart 2004 @ 09:28:
Euh, dit is meer iets voor de buren.
Jah, en de vorige keer had ik een soort gelijke vraag, en toen stond ie bij de buren...en toen was het ook niet goed...whatever...verplaats hem maar even dan...

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 23:53

Reptile209

- gers -

Verwijderd schreef op 15 maart 2004 @ 09:32:
[...]


Jah, en de vorige keer had ik een soort gelijke vraag, en toen stond ie bij de buren...en toen was het ook niet goed...whatever...verplaats hem maar even dan...
offtopic:
Daar kan je m.i. in dit geval niet veel aan doen: gaande de discussie komen "we" er achter dat het probleem niet in je PHP zelf (Webdesign) zit, maar in de serverinstellingen (scripting, SA zou ook nog kunnen). Nouja, boeie, als het straks maar werkt, toch? :)

Zo scherp als een voetbal!


Verwijderd

Topicstarter
[offtopic:]
jij snapt het ! :9 :)

[/offtopic]

Anyway, in de map
C:\Inetpub\mailroot\Queue

staan wel ALLE mailtjes die ik tot nu toe heb proberen te verzenden...
op de een of andere manier raakt ie ze dus niet kwijt...
is hier een reden voor ?

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 22:26

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Verwijderd schreef op 15 maart 2004 @ 08:38:
Ik heb nog niets verandert in mijn PHP.ini.
en wat betreft de code...in pincipe is die gewoon goed zo..als de mail eenmaal verzonden wordt kan ik altijd nog even naar de opmaak e.d. gaan kijken, maar ik krijg al niet eens een mail binnen, terwijl de code gewoon goed is zo..ik heb de pagina namelijk gekopieert naar de localhost van de pc op mijn stage, en toen ik daar op verzenden klikte had ik gewoon binnen 1 min een mail inclusief de juiste inhoudt...
Het is _niet_ de opmaak zoals 2 mensen al aangeven :). Je gebruikt de $_POST verkeerd en je moet dingen beter scheiden door punten. Maar goed, have it your way ;). Het is i.i.g. NIET de opmaak die ik heb veranderd in mijn voorbeeld, maar aantal foutjes eruit gehaald.

Daarnaast geeft sjroorda ook een goede tip, want zowel de afzenden als de returnmail klopt niet qua code
staan wel ALLE mailtjes die ik tot nu toe heb proberen te verzenden...
op de een of andere manier raakt ie ze dus niet kwijt...
is hier een reden voor ?
Welk mail programma gaat deze mailtjes verwerken denk je :) ?

Verander eens het volgende in je php.ini en herstart je apache:
[mail function]
; For Win32 only.
SMTP = localhost ; for Win32 only
sendmail_from= me@localhost.com ; for Win32 only
Maak daar van
[mail function]
; For Win32 only.
SMTP = mail.planet.nl ; for Win32 only
sendmail_from= me@localhost.com ; for Win32 only

[ Voor 21% gewijzigd door We Are Borg op 15-03-2004 10:19 ]


  • martijn_brinkers
  • Registratie: November 2001
  • Laatst online: 31-10-2025
Waarschijnlijk wordt jouw email geclassificeerd als spam. Outlook 200, XP bijv. heeft een zeer slechte junk filter. Als je from adres *mail@xxx is (username eindigend op mail) en je hebt junk filter aan dan komt elke mail met zo'n from adres in de junk folder. Er staan nog meer belachelijk ondoordachte filters in (zie FILTERS.TXT in office dir).

Hotmail zelf heeft ook soms wat vreemde spam filtering. Je zou dus even moeten experimenteren met je mail om te zien of spam filtering niet het probleem is.

[edit]
hmm. 'We Are Borg's' commentaar ziet er heel zinnig uit. Zou zijn raad dus eerst opvolgen.

[ Voor 10% gewijzigd door martijn_brinkers op 15-03-2004 10:08 ]


Verwijderd

Het bericht wordt nog niet eens verstuurd, dus ik denk niet dat het aan het spamfilter ligt. Dat komt later pas :)

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 22:26

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Klopt, hij is vergeten zijn php.ini goed in te stellen. Toch blijft de code brak :P

Verwijderd

Topicstarter
Nou, spamfilters: ok.
ik gebruik geen apache maar gewoon IIS
php.ini =
[mail function]
; For Win32 only.
SMTP = localhost ; for Win32 only
sendmail_from= me@localhost.com ; for Win32 only

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

maar werkt dus nog niet...

  • Tomsworld
  • Registratie: Maart 2001
  • Niet online

Tomsworld

officieel ele fan :*

Verwijderd schreef op 15 maart 2004 @ 09:51:
[offtopic:]
jij snapt het ! :9 :)

[/offtopic]

Anyway, in de map
C:\Inetpub\mailroot\Queue

staan wel ALLE mailtjes die ik tot nu toe heb proberen te verzenden...
op de een of andere manier raakt ie ze dus niet kwijt...
is hier een reden voor ?
Draait de smtp service op je pc wel ?
Mag localhost, je webserver daarlangs mail versturen ?
Je gebruikt blijkbaar wel apache als webserver, maar de smtp die bij iis zit.

"De kans dat een snee brood op een nieuw tapijt valt met de beboterde zijde onderaan, is recht evenredig met de prijs van het tapijt"


Verwijderd

Topicstarter
Is het mogelijk dat mijn provider (quicknet) het mailen blokkeert?

  • InZane
  • Registratie: Oktober 2000
  • Laatst online: 21:13
Als je in php.ini nou eens ff de mailserver van je provider als SMTP instelt.
Zou dan toch gewoon moeten werken lijkt mij.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

^^^^^^^

En debug voortaan zelf ff wat. Echo bijvoorbeeld eens je mail body voordat je 'm in mail(...) stopt, dan zie je vanzelf de problemen. Vermoed je een fout in je SMTP-config? Doe gewoon eens 'telnet localhost 25' en probeer het uit? Doe eens [google=rfc smtp], bestudeer het protocol en concludeer of je mail/SMTP al of niet klopt, en als het daarna nog steeds niet werkt open maar een topic. Maar er staan hier nu al genoeg suggesties die je vertikt te proberen.

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.