• De afgelopen dagen zijn er meerdere fora waarop bestaande accounts worden overgenomen door spammers. De gebruikersnamen en wachtwoorden zijn via een hack of een lek via andere sites buitgemaakt. Via have i been pwned? kan je controleren of jouw gegeven ook zijn buitgemaakt. Wijzig bij twijfel jouw wachtwoord of schakel de twee-staps-verificatie in.

Automatisch naar email adres sturen

Status
Niet open voor verdere reacties.

freestylker12

Gewaardeerd
Lid geworden
7 aug 2011
Berichten
1.913
Waarderingsscore
0
Beste lezer,

Ik wil graag een contact pagina maken zodat mensen daar hun email adres kunnen invoeren en hun bericht/onderwerp en dat het dan automatisch naar mijn email adres wordt gestuurd.. is dit mogelijk?

Dit heb ik nu:
HTML:
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8" />
	<title>Contact - Janvandertuin</title>
	<link rel="stylesheet" type="text/css" href="css/style.css" />
	<!--[if IE 9]>
		<link rel="stylesheet" type="text/css" href="css/ie9.css" />
	<![endif]-->
	<!--[if IE 8]>
		<link rel="stylesheet" type="text/css" href="css/ie8.css" />
	<![endif]-->
	<!--[if IE 7]>
		<link rel="stylesheet" type="text/css" href="css/ie7.css" />
	<![endif]-->
</head>
<body>
	<div id="header">
		<div>
			<div id="logo">
				<a href="index.html"><img src="images/logo goed.jpg" alt="Logo" /></a>
			</div>
			<div id="navigation">
				<div>
					<ul>
						<li><a href="index.html">Home</a></li>
						<li><a href="about.html">About us</a></li>
						<li class="current"><a href="contact.html">Contact Us</a></li>
						<li><a href="whychoose.html">Why Choose Us?</a></li>
						<li><a href="blog.html">Blog</a></li>
					</ul>
				</div>
			</div>
		</div>
	</div>
	<div id="content">
		<div>
			<h3>Contacteer mij</h3>
			<p>&nbsp;</p>
			<form action="#">
				<table>
					<tr>
						<td>Naam:</td>
						<td><input type="text" maxlength="30" id="name" /> </td>
						<td><label class="email" for="email">Email:</label></td> 
						<td><input type="text" maxlength="30" id="email" /></td>
					</tr>
					<tr>
						<td><label for="subject"><strong>Onderwerp:</strong></label></td>
						<td><input type="text" maxlength="30" id="subject" /></td>
					</tr>
					<tr>
						<td class="message"><label for="message"><strong>Bericht:</strong></label></td>
						<td colspan="3"><textarea name="message" id="message" cols="30" rows="10"></textarea></td>
					</tr>
					<tr>
						<td></td>
						<td colspan="2"><label class="newsletter" for="newsletter"><input type="checkbox" id="newsletter" />
						  Aanmelden voor nieuwsbrief
						</label> <label for="terms"><input type="checkbox" id="terms" />
						  Ik accepteer de voorwaarden
						</label></td>
						<td colspan="1"><input type="submit" value="" id="send" /></td>
					</tr>
				</table>
			</form>
		</div>
	</div>
	<div id="footer">
		<div>
			<div class="first">
				<h3><a href="index.html">Janvandertuin</a></h3>
				<p>Heb je ideen of wil je wat kwijt stuur een email!</p>
				<div>
					
					<p>Email : <span>vandertuinjan@gmail.com</span></p>
				</div>
			</div>
			<div>
							<h3>Sociale media</h3>
				<p>Volg me op Twitter en voeg me toe op Facebook!</p>
<div>
		  <a href="http://www.facebook.com/jan.vandertuin.37" class="facebook" target="_blank"></a>
		  <a href="http://twitter.com/janvandertuin1" class="twitter" target="_blank"></a>
				</div>
			</div>
			<div>
				<h3>Deel je ideen!</h3>
				<p>Voer je email adres in en deel je ideen!</p>
				<form action="#">
					<label for="subscribe"><input type="text" id="subscribe" maxlength="30" value="email address" /></label>
					<input class="submit" type="submit" value="" />
				</form>
				<p>Copyright &copy; 2012  Janvandertuin Incorporated <br />LRP 727 6783 83839 All rights reserved</p>
			</div>
		</div>
	</div>
</body>
</html>
 
Heb je beschikken over php op je webhost ?
 
Ik heb even snel dit voor je gemaakt:
PHP:
<?php
define('MIJN_EMAIL', 'voorbeeld@ncf.nl');

if(isset($_POST['verstuur']))
{
  $naam = $_POST['naam'];
  $mail filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL);
  $onderwerp = $_POST['onderwerp'];
  $bericht = $_POST['bericht'];

  if($mail !== false)
  {
    mail(MIJN_EMAIL, $onderwerp, $bericht);
  }
  else
  {
    $err = 'Het ingevoerde e-mailadres is niet geldig!';
  }
}
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<pre><?php if(isset($err)) { echo "$err\n\n"; } ?>Mijn naam:        <input type="text" name="naam">
Mijn e-mailadres: <input type="text" name="mail">
Onderwerp:        <input type="text" name="onderwerp">

Bericht:
<textarea name="bericht"></textarea>

<input type="submit" name="verstuur" value="Verstuur"></pre>

<!-- Eventuele captcha; reCAPTCHA is heel makkelijk... -->
</form>

Het controleert of het ingevoerde e-mailadres ook geldig is, anders krijg je een foutmelding.

Je kan het <?php ... ?> gedeelte gewoon bovenaan elk script plakken, en het <form> ... </form> gedeelte op de plek waar je het form wilt hebben.

Natuurlijk kan je ook veel meer controles en dingen in de mail zetten, maar dit is even heel simpel gemaakt.
 
Ja ik heb beschikking over php op mijn webhost. En Naxiz: heel erg bedankt!!! ik ga het even proberen!
 
Wat moet ik nu nog veranderen in de php file of niets?
 
Wat moet ik plaatsen bij "E-MAILADRES VERWIJDERD - Stuur een privbericht naar deze gebruiker i.p.v. een e-mail" ik weet namenlijk nu niet wat er staan moet om het ncf het blokeert
 
Laatst bewerkt door een moderator:
PHP:
define('MIJN_EMAIL', 'E-MAILADRES VERWIJDERD - Stuur een privbericht naar deze gebruiker i.p.v. een e-mail.');

Daar moet je E-MAILADRES VERWIJDERD - Stuur een privbericht naar deze gebruiker i.p.v. een e-mail. even veranderen naar je eigen e-mailadres. Ik zou wel reCAPTCHA gebruiken, dit kan ik er ook wel voor je inzetten als je even een private en public key naar me stuurt via PM (kan je aanvragen op www.recaptcha.net).
 
Ik stuur je zo de recaptha key, bedankt dat je me helpt!
 
Het is inmiddels geluktmet de hulp van naxiz.

Bedannkt voor de hulp! :D
 
Heel vreemd.. Het werkt ineens niet meer, mischien heb ik perongeluk wat veranderd ofzo..

Als ik mijn code plaats kan iemand mij dan helpen of hebben jullie nu al een oplossing :P
 
Dit is nu de contact.php:

<?php
require_once('recaptchalib.php');

define('MIJN_EMAIL', 'janvandertuin@live.nl');

define('PUB_KEY', '6Lcng9MSAAAAAC_gX15icXSlZSslHNgMZ2eBs9yr');
define('PRV_KEY', '6Lcng9MSAAAAANvJMHNgRbe0_gn_Ss6_1_lAf0Ne');

if(isset($_POST['verstuur']))
{
$naam = $_POST['naam'];
$mail = filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL);
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];

$resp = recaptcha_check_answer (PRV_KEY, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);

if($mail === false)
{
$err = 'Het ingevoerde e-mailadres is niet geldig!';
}
elseif(!$resp->is_valid)
{
$err = 'Je hebt de code niet goed overgetypt!';
}
else
{
mail(MIJN_EMAIL, $onderwerp, $bericht);
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Contact - Janvandertuin</title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
<!--[if IE 9]>
<link rel="stylesheet" type="text/css" href="css/ie9.css" />
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="css/ie8.css" />
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="css/ie7.css" />
<![endif]-->
</head>
<body>
<div id="header">
<div>
<div id="logo">
<a href="index.html"><img src="images/logo goed.jpg" alt="Logo" /></a>
</div>
<div id="navigation">
<div>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="over mij.html">About us</a></li>
<li class="current"><a href="contact.html">Contact Us</a></li>
<li><a href="whychoose.html">Why Choose Us?</a></li>
<li><a href="blog.html">Blog</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="content">
<div>
<h3>Contacteer mij </h3>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<pre>Mijn naam: <input type="text" name="naam">
Mijn e-mailadres: <input type="text" name="mail">
Onderwerp: <input type="text" name="onderwerp">

Bericht:
<textarea name="bericht"></textarea>



<input type="submit" name="verstuur" value="Verstuur"></pre>
</form>
</div>
</div>
<div id="footer">
<div>
<div class="first">
<h3><a href="index.html">Ecothunder</a></h3>
<p>Heb je ideen of wil je wat kwijt stuur een email!</p>
<div>

<p>Email : <span>vandertuinjan@gmail.com</span></p>
</div>
</div>
<div>
<h3>Sociale media</h3>
<p>Volg me op Twitter en voeg me toe op Facebook!</p>
<div>
<a href="http://www.facebook.com/jan.vandertuin.37" class="facebook" target="_blank"></a>
<a href="http://twitter.com/janvandertuin1" class="twitter" target="_blank"></a>

</div>
</div>
<div>
<h3>Deel je ideen!</h3>
<p>Voer je email adres in en deel je ideen!</p>
<form action="#">
<label for="subscribe"><input type="text" id="subscribe" maxlength="30" value="email address" /></label>
<input class="submit" type="submit" value="" />
</form>
<p>Copyright &copy; 2012 Janvandertuin Incorporated <br />LRP 727 6783 83839 All rights reserved</p>
</div>
</div>
</div>
</body>
</html>
 
Jaah het werkt weer nu met een ander script!

Dit is nu mijn script:
<?php
session_start(); // zorg ervoor dat session_start ALTIJD bovenaan ALLES van je pagina staat, anders werkt het niet!

/*******************************
* CONTACT FORMULIER *
* contactformulier.php *
* *
* Author: Miranda Verburg *
* Datum: 10 september 2010 *
* *
* Pas het e-mail adres aan *
* bij $mail_ontv en upload *
* het naar je webserver.. *
********************************/

// E-mailadres van de ontvanger
$mail_ontv = 'janvandertuin@live.nl'; // <<<----- voer jouw e-mailadres hier in!

// Speciale checks voor naam en e-mailadres
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
// naam controle
if (empty($_POST['naam']))
$naam_fout = 1;
// e-mail controle
if (function_exists('filter_var') && !filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL))
$email_fout = 1;
// antiflood controle
if (!empty($_SESSION['antiflood']))
{
$seconde = 20; // 20 seconden voordat dezelfde persoon nog een keer een e-mail mag versturen
$tijd = time() - $_SESSION['antiflood'];
if($tijd < $seconde)
$antiflood = 1;
}
}

// Kijk of alle velden zijn ingevuld - naam mag alleen uit letters bestaan en het e-mailadres moet juist zijn
if (($_SERVER['REQUEST_METHOD'] == 'POST' && (!empty($antiflood) || empty($_POST['naam']) || !empty($naam_fout) || empty($_POST['mail']) || !empty($email_fout) || empty($_POST['bericht']) || empty($_POST['onderwerp']))) || $_SERVER['REQUEST_METHOD'] == 'GET')
{
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!empty($naam_fout))
echo '<p>Uw naam is niet ingevuld.</p>';
elseif (!empty($email_fout))
echo '<p>Uw e-mailadres is niet juist.</p>';
elseif (!empty($antiflood))
echo '<p>U mag slechts &eacute;&eacute;n bericht per ' . $seconde . ' seconde versturen.</p>';
else
echo '<p>U bent uw naam, e-mailadres, onderwerp of bericht vergeten in te vullen.</p>';
}

// HTML e-mail formlier
echo '<form method="post" action="' . $_SERVER['REQUEST_URI'] . '" />
<p>

<label for="naam">Naam:</label><br />
<input type="text" id="naam" name="naam" value="' . (isset($_POST['naam']) ? htmlspecialchars($_POST['naam']) : '') . '" /><br />

<label for="mail">E-mailadres:</label><br />
<input type="text" id="mail" name="mail" value="' . (isset($_POST['mail']) ? htmlspecialchars($_POST['mail']) : '') . '" /><br />

<label for="onderwerp">Onderwerp:</label><br />
<input type="text" id="onderwerp" name="onderwerp" value="' . (isset($_POST['onderwerp']) ? htmlspecialchars($_POST['onderwerp']) : '') . '" /><br />

<label for="bericht">Bericht:</label><br />
<textarea id="bericht" name="bericht" rows="8" style="width: 400px;">' . (isset($_POST['bericht']) ? htmlspecialchars($_POST['bericht']) : '') . '</textarea><br />

<input type="submit" name="submit" value=" Versturen " />
</p>
</form>';
}
// versturen naar
else
{
// set datum
$datum = date('d/m/Y H:i:s');

$inhoud_mail = "===================================================\n";
$inhoud_mail .= "Ingevulde contact formulier " . $_SERVER['HTTP_HOST'] . "\n";
$inhoud_mail .= "===================================================\n\n";

$inhoud_mail .= "Naam: " . htmlspecialchars($_POST['naam']) . "\n";
$inhoud_mail .= "E-mail adres: " . htmlspecialchars($_POST['mail']) . "\n";
$inhoud_mail .= "Bericht:\n";
$inhoud_mail .= htmlspecialchars($_POST['bericht']) . "\n\n";

$inhoud_mail .= "Verstuurd op " . $datum . " via het IP adres " . $_SERVER['REMOTE_ADDR'] . "\n\n";

$inhoud_mail .= "===================================================\n\n";

// --------------------
// spambot protectie
// ------
// van de tutorial: http://www.phphulp.nl/php/tutorial/beveiliging/spam-vrije-contact-formulieren/340/
// ------

$headers = 'From: ' . htmlspecialchars($_POST['naam']) . ' <' . $_POST['mail'] . '>';

$headers = stripslashes($headers);
$headers = str_replace('\n', '', $headers); // Verwijder \n
$headers = str_replace('\r', '', $headers); // Verwijder \r
$headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes

$_POST['onderwerp'] = str_replace('\n', '', $_POST['onderwerp']); // Verwijder \n
$_POST['onderwerp'] = str_replace('\r', '', $_POST['onderwerp']); // Verwijder \r
$_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes

if (mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers))
{
// zorg ervoor dat dezelfde persoon niet kan spammen
$_SESSION['antiflood'] = time();

echo '<h1>Het contactformulier is verzonden</h1>

<p>Bedankt voor het invullen van het contactformulier. We zullen zo spoedig mogelijk contact met u opnemen.</p>';
}
else
{
echo '<h1>Het contactformulier is niet verzonden</h1>

<p><b>Onze excuses.</b> Het contactformulier kon niet verzonden worden.</p>';
}
}
?>
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan