probleem met mail functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

De Clercq Andy

De Clercq Andy

04/10/2014 16:47:42
Quote Anchor link
Hallo,
aan de hand van onderstaand script probeer ik mijn gebruiker te bevestigen van de gegevens die hij me doorstuurde via een formulier.
Na uploaden krijg ik niks, geen mail, geen foutmelding en ook geen echo dat mail niet of wel is verzonden.
Kan iemand zeggen wat ik fout doe?
Alvast bedankt!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
$onderwerp="Bevestiging van uw gegevens";
$adres=$_POST['email'];
$bericht= '
<html>
<head>

</head>
<body>Geachte '
.$_POST['voornaam'] $_POST['naam'].',
<p>
Met deze mail bevestigen wij uw inschrijvng voor de kwalificatiewedstrijden voor de simultaan van Karpov meeets Karpov. <br>
Bewaar deze mail zorgvuldig, druk hem af en breng hem mee op 23 mei, hij bevat allle benodigde gegevens.
<p>
'
.$_POST['naam'] $_POST['voornaam'].'<br>
'
.$_POST['adres'].' <br>


</body>
</html>'
;
$headers  = 'MIME-Version: 1.0' . "\r\n".
    'Content-type: text/html; charset=iso-8859-1' . "\r\n";

if (mail($adres,$onderwerp,$bericht,$headers))
    {

    echo "mail is succesvol verzonden";
    }

else
    {
    echo " de mail is niet verzonden";
    }

?>

Dit script werkte perfect tot ik de post variabelen in mijn $bericht plaatste.
 
PHP hulp

PHP hulp

08/11/2024 02:01:08
 
Frank Nietbelangrijk

Frank Nietbelangrijk

04/10/2014 17:16:06
Quote Anchor link
Niet alle providers ondersteunen de mail() functie. Vaak valt hierover wel te lezen op hun support of FAQ deel van hun website.

Test eens met een zeer eenvoudig emailtje naar je zelf:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mail('[email protected]','Testmail','Dit is een test.');
?>


Als de provider de mail functie niet support dan kun je kijken of ze wel een smtp server ter beschikking stellen. Doen ze dat ook niet dan zijn er nog duizenden andere smtp servers beschikbaar. Bijvoorbeeld die van gmail of hotmail (account vereist).

Je kunt dan alsnog email versturen vanaf je website maar dit moet dan over SMTP. Dit kan echter niet met de standaard PHP mail() functie. Hiervoor kun je het beste PHPMailer downloaden: https://github.com/Synchro/PHPMailer
Gewijzigd op 04/10/2014 17:17:46 door Frank Nietbelangrijk
 
- SanThe -

- SanThe -

04/10/2014 17:18:11
Quote Anchor link
Op regel 16 mist een punt.
 
De Clercq Andy

De Clercq Andy

09/10/2014 13:45:10
Quote Anchor link
Ondertussen is dit probleem opgelost. Was inderdaad een foutje bij het escapen van de variabelen. De grootste reden dat ik "panikeerde" was omdat hij geen foutmelding gaf ondanks het feit dat ik in mijn ini meegaf om het wel te doen. Maar blijkbaar duurt dit een tijdje. Hoe dan ook harteljik dank voor de hulp!
 
Obelix Idefix

Obelix Idefix

09/10/2014 19:47:47
Quote Anchor link
Je weet dat het aanmaken van een variabele op regel 5 wat zinloos is?

Je weet ook dat je een (groot) risico loopt, door zonder enige controle de input vanuit een formulier te gebruiken? Wat zou er gebeuren als ik meerdere mailadressen invul?
 
Aad B

Aad B

09/10/2014 20:05:59
Quote Anchor link
Frank Nietbelangrijk op 04/10/2014 17:16:06:
Niet alle providers ondersteunen de mail() functie.
Vrijwel alle (betaalde) providers ondersteunen een mail functie echter er wordt steeds meer overgegaan op authenticated smtp waardoor je dus credentials mee moet geven. Overleg met je provider of lees de faq. Credentials meegeven gaat eenvoudig met phpmailer alhoewel daar voor php 5.4 een deprecated functie in zit. Google en Hotmal/Outlook gaan steeds moeilijker doen om als smtp slaafje voor allerlei websites gebruikt te worden. Maar nogmaals, de meeste serieuze hosters/providers ondersteunen een emailfunctie.
Gewijzigd op 09/10/2014 20:06:39 door Aad B
 
De Clercq Andy

De Clercq Andy

09/10/2014 21:19:50
Quote Anchor link
Obelix en Idefix op 09/10/2014 19:47:47:
Je weet dat het aanmaken van een variabele op regel 5 wat zinloos is?

Je weet ook dat je een (groot) risico loopt, door zonder enige controle de input vanuit een formulier te gebruiken? Wat zou er gebeuren als ik meerdere mailadressen invul?


Weet ik wel, vandaar dat de controle van alle deze input al gebeurd is op een hoger niveau. In principe spreekt geen enkele "gebruiker" dit script aan, enkkel de beherder.
Alvorens hij dit te zien krijgt is er controle op input type, mysql en html.
Maar bedankt voor de tips.
 
Aad B

Aad B

09/10/2014 21:51:30
Quote Anchor link
De Clercq Andy op 09/10/2014 21:19:50:
Weet ik wel, vandaar dat de controle van alle deze input al gebeurd is op een hoger niveau.
Meen je dat echt? Hoe dan? Dit lijkt gewoon het eerste beste voorbeeldscriptje uit een boek of van internet. Neem de waarschuwing serieus.
 



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.