PHP mail() functie werk niet :(

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ruben Portier

Ruben Portier

21/05/2010 23:39:28
Quote Anchor link
Beste

Ik probeer een contactpagina te maken. Maar de mail() functie van php blijkt niet te werken.
Dit is mijn code:

if(mail('[email protected]', 'the subject', 'the message', null, '[email protected]'))
{
echo '<p>Uw mail is succesvol verzonden! Wij zullen uw mail zo spoedig mogelijk lezen en uw contacteren. Bedankt voor het begrip.</p>';
}
else
{
echo '<p>Er is een fout opgetreden.</p>';
}

Hij geeft telkens de Er is een fout opgetreden aan. Dus volgens mij is er wat mis met de mailserver? Ik heb al gekeken in de php.ini enzo, maar ik krijg het niet werkend. Ik snap het niet meer, heb al op google verschillende oplossingen geprobeerd enzo.

Mss iemand van jullie die mij kan helpen?

Bedankt!

EDIT: Moet ik daar een SMTP server voor gaan installeren ofzo? Ik dacht dat dat bij PHP automatisch al zat. iemand een idee?
Gewijzigd op 21/05/2010 23:58:27 door Ruben Portier
 
PHP hulp

PHP hulp

23/12/2024 09:15:53
 
Noppes Homeland

Noppes Homeland

22/05/2010 10:56:05
Quote Anchor link
Je zult geldige additionele parameters moeten doorgeven. Gegeven voorbeelden op php.net zijn in feite correct, maar je dient er wel rekening mee te houden van welke mailserver gebruikt wordt.

Overigens is het vaak eenvoudiger om een mail class te gebruiken als:
PHP Mailer
Swift Mailer

Dan hoef je je ook niet te verdiepen in alle RFC voorwaarden
 
Ruben Portier

Ruben Portier

22/05/2010 12:31:23
Quote Anchor link
Ja maar wat is dat dan precies? Ik zou wel graag de php mail() functie gebruiken, ik weet alleen niet hoe het komt dat het niet werkt. Moet ik daarvoor wat instellenin de php.ini ofzo?

Bedankt alvast.
 
Joren de Wit

Joren de Wit

22/05/2010 14:03:41
Quote Anchor link
Neem zoals Noppes al zegt eens een kijkje naar Swift Mailer. Deze klasse biedt onder andere de mogelijkheid om van de interne mail() functie gebruik te maken, maar biedt daarnaast veel meer mogelijkheden. Het is gewoon veel uitgebreider (en makkelijker) dan de mail() functie.
 
Ruben Portier

Ruben Portier

22/05/2010 14:25:33
Quote Anchor link
Ja maar ik heb dat gedownload. Wat moet je dan doen om het te installeren? Ik krijg het niet voor elkaar.
 
Joren de Wit

Joren de Wit

22/05/2010 15:46:06
Quote Anchor link
Lees de documentatie eens door zou ik zeggen. Die is erg duidelijk dus daarmee moet je het kunnen snappen...
 
Ruben Portier

Ruben Portier

22/05/2010 16:17:58
Quote Anchor link
Oke, maar ik zou wel graag eens weten waarom mijn PHP mail() niet werkt dan. Wat kan er fout zijn? Of is het altijd verplicht om eerst een andere programma daarvoor te moeten installeren?
 
Joren de Wit

Joren de Wit

22/05/2010 16:22:31
Quote Anchor link
Nee, dat is niet verplicht. Je zult moeten zorgen dat de instellingen in je php.ini mbt de mail functie goed staan. Je zult daar dus in ieder geval een smtp server moeten opgeven of het pad naar sendmail moeten definiëren, mocht je dat gebruiken.

Verder zou je de error_reporting in je script eens op de hoogste stand kunnen zetten, dan wordt er wellicht nog een PHP foutmelding gegeven als je mail() probeert aan te roepen. Die foutmelding zal je meer vertellen dan jouw eigen foutmelding.
 
Ruben Portier

Ruben Portier

22/05/2010 16:37:00
Quote Anchor link
Dus, ik zal ff die error_reporting op hoogste stand zetten (hoe doe je dat? lol :p)

EDIT: In de PHP.ini zie ik dat deze aan staat: error_reporting = E_ALL

volgens mij is dat de hoogste dus dat hij alle errors toont? Maar ik zie geen errors als ik een mail probeer te sturen.

Hoe zou het komen dan dat het niet werkt? Iemand een idee?
Gewijzigd op 22/05/2010 16:42:55 door Ruben Portier
 
Willem Jan Z

Willem Jan Z

22/05/2010 16:44:32
Quote Anchor link
omdat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
display_errors = off

ook nog ergens staat
Gewijzigd op 22/05/2010 16:44:55 door Willem Jan Z
 
- SanThe -

- SanThe -

22/05/2010 16:46:53
Quote Anchor link
Draai je wel een mailserver?
 
Ruben Portier

Ruben Portier

22/05/2010 16:52:23
Quote Anchor link
Nee, ik gebruik Windows XP SP3 en ik heb gwn Apache, PHP en MySQL geïnstalleerd. Moet ik op windows nog een aparte mail server gaan installeren ofzo? En welke moet dat dan zijn?

Dank u wel.

De error geeft dit weer:

Notice: Undefined variable: sub in C:\Documents and Settings\ServerXP\Mijn documenten\Server\Web_Servers\htdocs\ruben\paginas\nl\contact.php on line 22

Notice: Undefined variable: uwemail in C:\Documents and Settings\ServerXP\Mijn documenten\Server\Web_Servers\htdocs\ruben\paginas\nl\contact.php on line 23

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Documents and Settings\ServerXP\Mijn documenten\Server\Web_Servers\htdocs\ruben\paginas\nl\contact.php on line 31
Gewijzigd op 22/05/2010 16:54:19 door Ruben Portier
 
- SanThe -

- SanThe -

22/05/2010 16:55:04
Quote Anchor link
Dan moet in php.ini de mailserver van je adsl-provider instellen.
 
Ruben Portier

Ruben Portier

22/05/2010 16:58:54
Quote Anchor link
En waar vindt ik die? Ik heb zonet trouwens een programma Free SMTP geinstalleerd. Als ik nu die mail probeer te zenden zie ik op dat programma de e-mailadres opkomen, maar hij blijft maar laden.
 
- SanThe -

- SanThe -

22/05/2010 17:03:29
Quote Anchor link
Een mailprogramma(server) moet je wel configureren.
Die php.ini moet je even opzoeken. Ik weet niet waar die staat. Soms schijnen er zelfs meerdere te zijn.
 
Ruben Portier

Ruben Portier

22/05/2010 17:05:09
Quote Anchor link
Maar luister, zeg mij even een goede mailserver die ik op windows xp kan installeren en goed zal werken. En dan moet ik volgens mij in de php.ini gewoon toch de poort en die server instellen. de smtp server moet dan op localhost staan omdat het op dezelfde pc zal zijn.
 
- SanThe -

- SanThe -

22/05/2010 17:21:44
Quote Anchor link
Als je zelf een mailserver draait hoef je niks in php.ini te doen. Dan zal je de mailserver fatsoenlijk moeten configureren zodat ie netjes werkt en geen open relay heeft. Veel makkelijker is om even de php.ini instellingen te wijzigen en dan apache even opnieuw opstarten.
Gewijzigd op 22/05/2010 17:46:23 door - SanThe -
 
Ruben Portier

Ruben Portier

22/05/2010 17:24:29
Quote Anchor link
Ja maar luister, heb ik voor een windows xp sp3 een aparte mail serve rnodig om die php mail() functie te laten werken of niet? Ik heb nu aan het testen met een mail server.
 
Joren de Wit

Joren de Wit

22/05/2010 17:25:56
Quote Anchor link
Niet per se. Je kunt ook gewoon de smtp server van je internet provider gebruiken. Dat is voor test doeleinden veel eenvoudiger, of was je van plan om een productieserver op je pc te gaan draaien?
 
Ruben Portier

Ruben Portier

22/05/2010 17:28:39
Quote Anchor link
Ik heb nu een SMTP server geïnstalleerd. En als ik nu een mail wil zenden krijg ik volgend error:

Warning: mail() [function.mail]: SMTP server response: 530 SMTP authentication is required. in C:\Documents and Settings\ServerXP\Mijn documenten\Server\Web_Servers\htdocs\ruben\paginas\nl\contact.php on line 31
Uw bericht is succesvol verzonden

EDIT: Hoe gebruik ik dan die mail ding van mijn ADSL provider? Hoe moet ik dat instellen?

EDIT2: Hier kan lokje op. Ik het de SMTP van localhost naar smtp.skynet.be veranderd omdat ik ADSL Skynet heb. en hij zend perfect.

Bedankt allemaal!
Gewijzigd op 22/05/2010 17:36:00 door Ruben Portier
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.