contactformulier werkt opeens niet meer
ik heb een vraag, een maat van mij heeft een website en daar staat een simpel contactformulier op. Het formulier heeft altijd gewerkt maar nu werkt hij niet meer. Het gekke is dat er geen aanpassingen zijn geweest. Opeens zonder verklaring werkt het niet meer. Kan iemand hier een reden bedenken waarom dit is?
Ik twijfel er niet aan dat iemand het weet!
de code zal ik zo eff netejs posten moet eff een goede applicatie vinden op me werk!
het gaat om de volgende code:
Code (php)
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
34
35
36
37
38
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
34
35
36
37
38
<script type="text/javascript" src="js/form-validation.js"></script>
<form id="contactForm" action="#" method="post">
<h3 class="heading">Neem vrijblijvend contact op</h3>
<p> Heeft u een vraag stel hem dan gerust!
Wij zullen altijd een reactie terug sturen. U kunt het onderstaande formulier
gebruiken of telefonisch contact opnemen.
</p>
<fieldset>
<div> <input name="name" id="name" class="form-poshytip" title="Wat is uw volledige naam?"
type="text">
<label>Naam</label> </div>
<div> <input name="email" id="email" class="form-poshytip" title="Wat is uw email adres?"
type="text">
<label>Email</label> </div>
<div> <input name="web" id="web" class="form-poshytip" title="Wat is uw onderwerp?"
type="text">
<label>Onderwerp</label> </div>
<div> <textarea name="comments" id="comments" rows="5" cols="20"
class="form-poshytip"
title="Stel uw vraag alstublieft"></textarea>
</div>
<!-- send mail configuration --> <input value="[email protected]"
name="to"
id="to"
type="hidden">
<input value="Enter the subject here" name="subject" id="subject"
type="hidden">
<input value="send-mail.php" name="sendMailUrl" id="sendMailUrl" type="hidden">
<!-- ENDS send mail configuration -->
<p><input value="Verstuur" name="submit" id="submit" type="button">
<span id="error" class="warning">Bericht</span></p>
</fieldset>
</form>
<p id="sent-form-msg" class="success">Het formulier is succesvol
verzonden. Wij nemen zo snel mogelijk contact met u op!</p>
<!-- ENDS form --> </div>
Gewijzigd op 22/05/2013 15:31:31 door Ray de graaf
PS. regel 47 is niet helemaal correct ingevuld. Er wordt nu een email verstuurt naar [email protected] en niet naar [email protected] als je op die link klikt.
En een ander puntje:
Ik zie dat via dit contactformulier heel makkelijk is om spam te versturen, gezien de geadresseerde in de broncode staat. Je kan nu zo [email protected] aanpassen naar [email protected]; [email protected]; [email protected]
Ik zou dit aanpassen en het to: veld in een variable vastzetten in de send-mail.php
Gewijzigd op 22/05/2013 15:35:44 door Marvin H
- Mark - op 22/05/2013 15:32:36:
Waar is het PHP gedeelte dat de E-mail verstuurt? Hier kunnen we niet veel mee helaas.
PS. regel 47 is niet helemaal correct ingevuld. Er wordt nu een email verstuurt naar [email protected] en niet naar [email protected] als je op die link klikt.
PS. regel 47 is niet helemaal correct ingevuld. Er wordt nu een email verstuurt naar [email protected] en niet naar [email protected] als je op die link klikt.
bedankt voor de snelle reactie! pas 47 aan
dit is het script:
Code (php)
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
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
<?php
/**
* Author: Luis Zuno
* Email: [email protected]
* URL: http://www.luiszuno.com
* Version: 1.0.0
**/
//vars
$subject = $_POST['subject'];
$to = explode(',', $_POST['to'] );
$from = $_POST['email'];
//data
$msg = "NAME: " .$_POST['name'] ."<br>\n";
$msg .= "EMAIL: " .$_POST['email'] ."<br>\n";
$msg .= "WEBSITE: " .$_POST['web'] ."<br>\n";
$msg .= "COMMENTS: " .$_POST['comments'] ."<br>\n";
//Headers
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";
$headers .= "From: <".$from. ">" ;
//send for each mail
foreach($to as $mail){
mail($mail, $subject, $msg, $headers);
}
?>
/**
* Author: Luis Zuno
* Email: [email protected]
* URL: http://www.luiszuno.com
* Version: 1.0.0
**/
//vars
$subject = $_POST['subject'];
$to = explode(',', $_POST['to'] );
$from = $_POST['email'];
//data
$msg = "NAME: " .$_POST['name'] ."<br>\n";
$msg .= "EMAIL: " .$_POST['email'] ."<br>\n";
$msg .= "WEBSITE: " .$_POST['web'] ."<br>\n";
$msg .= "COMMENTS: " .$_POST['comments'] ."<br>\n";
//Headers
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";
$headers .= "From: <".$from. ">" ;
//send for each mail
foreach($to as $mail){
mail($mail, $subject, $msg, $headers);
}
?>
Gewijzigd op 22/05/2013 16:02:48 door ray de graaf
- Controleert met if($_SERVER['REQUEST_METHOD']=="POST") [ of je formulier verstuurd is.
- Goede foutafhandeling
- Mailheader injection tegengaan, nu kan iedereen de headers van je mail aanpassen, waradoor er zelf op geautomatiseerde wijze spam vanaf jouw formulier kan worden verstuurd.
- phpMailer of Swiftmailer gebruiken.
- Foutafhandeling geven of de mail succesvol aan de mailserver is afgeleverd. het is geen 100% garantie dat de mail verstuurd is, maar ik raad het zeker aan.
Marvin Houweling op 22/05/2013 15:35:16:
Wat werkt er niet meer, komt er een foutmelding?
En een ander puntje:
Ik zie dat via dit contactformulier heel makkelijk is om spam te versturen, gezien de geadresseerde in de broncode staat. Je kan nu zo [email protected] aanpassen naar [email protected]; [email protected]; [email protected]
Ik zou dit aanpassen en het to: veld in een variable vastzetten in de send-mail.php
En een ander puntje:
Ik zie dat via dit contactformulier heel makkelijk is om spam te versturen, gezien de geadresseerde in de broncode staat. Je kan nu zo [email protected] aanpassen naar [email protected]; [email protected]; [email protected]
Ik zou dit aanpassen en het to: veld in een variable vastzetten in de send-mail.php
zou het kunnen dat de oorzaak als volgt is:
het script is misbruikt voor spam mails.. het emailadress staat op een blacklist... de emails komen niet meer aan..??
als je direct een mail stuurt met hotmail ofzo dan werkt het wel.
Tja, dan raad ik aan om het toch eens goed te beveiligen en totaal te herzien.
- Aar - op 22/05/2013 16:14:16:
Tja, dan raad ik aan om het toch eens goed te beveiligen en totaal te herzien.
Ik heb dit script niet gemaakt, ik ga een nieuwe maken. Maar zou het wel kunnen zijn dat de reden dat het niets meer verstuurd is dat hij niet veilig was en daardoor misbruikt is voor spam?
Dat zou mogelijk kunnen. Vraag je hostingpartij eens, misschien hebben ze een gedeeltelijke blokkade toegepast?
Het kan ook mogelijk zijn dat er updates zijn uitgevoerd op de server, waardoor mail() of sendmail niet meer werkt.