Door
Jeffrey Bongers
op 29-09-2014 22:10
gewijzigd op 29-09-2014 22:11
2.569 views
Hallo
ik doe al een aardige lange tijd aan web design en coding maar ik snap het php emailen maar niet.
ik heb al een formulier (form) gemaakt
<form action="" method="post">
<h2>REGISTER TO <span class="red"><strong>My Site</strong></span></h2>
<label for="firstname">First Name</label>
<input type="text" id="firstname" name="firstname" placeholder="enter your first name...">
<label for="lastname">Last Name</label>
<input type="text" id="lastname" name="lastname" placeholder="enter your first name...">
<label for="username">Username</label>
<input type="text" id="username" name="username" placeholder="choose a username...">
<label for="email">Email</label>
<input type="text" id="email" name="email" placeholder="enter your email...">
<label for="password">Password</label>
<input type="password" id="password" name="password" placeholder="choose a password...">
<button type="submit">REGISTER</button>
</form>
Maar nu heb ik een php script nodig om de mail te verzenden maar ik weet niet hoe dat moet. Kan iemand mij helpen of eventueel een kant en klare script aanleveren die is aangepast aan mijn formulier.
GR Jeffrey
?
Onbekende gebruiker
29-09-2014 22:52
Zet dit letterlijk op je server en pas de waardes aan die ik heb aangegeven. Het zou meteen moeten werken.
Lees wel de comments in het script anders leer je er niets van natuurlijk.
<?php
// Eerst gaan we de error reporting aanzetten zodat we kunnen zien wat er misgaat
error_reporting(E_ALL & ~E_NOTICE);
// We gaan de autoloader inladen zodat we alles uit de class kunnen gebruiken
require 'PHPMailerAutoload.php';
// We maken een nieuw object aan zodat we een e-mail kunnen gaan versturen
$mail = new PHPMailer;
$mail->SMTPDebug = 3; // We willen HEEL graag zien wat er gebeurd en misschien fout gaat
$mail->isSMTP(); // We gaan een e-mail sturen via een andere server, Google in dit geval
$mail->Host = 'smtp.gmail.com'; // Hoe heet de server waar we vanaf willen sturen?
$mail->SMTPAuth = true; // Ja we willen de STMP gebruiken van een andere server
$mail->Username = '[email protected]'; // Jou gebruikersnaam van gmail incl. @gmail.com
$mail->Password = 'en-jou-wachtwoord'; // Jou wachtwoord voor Gmail
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->From = '[email protected]'; // Dit is de afzender van de e-mail
$mail->FromName = 'Jou-naam'; // En jou naam, dit voorkomt dat het gezien wordt als SPAM
$mail->addAddress('[email protected]', 'Joe User'); // Naar wie moet het toe?
$mail->isHTML(true); // Wordt de e-mail in HTML of niet?
$mail->Subject = 'Here is the subject'; // Jou onderwerp
$mail->Body = 'This is the HTML message body <b>in bold!</b>'; // Hier jou HTML inhoud
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; // En hier alles zonder HTML, maar dit is niet verplicht
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
?>
Persoonlijk zou ik alle bestanden van PHPmailer in een directory /PHPmailer zetten.
En dan kan je vanuit je webroot, waar je index.php staat gewoon "PHPmailer/PHPmailerautoload.php" in je require() gebruiken.
?
Onbekende gebruiker
29-09-2014 23:09
Wat het script nu aangeeft is dat je geen toegang hebt tot de smtpserver die je hebt ingevuld.
Je moet niet jou eigen server invullen bij de SMTP he. Je moet doen van Gmail gebruiken (als je een gmail account hebt)
Post je gehele script nu eens die je hebt aangepast.
Dat script moet je tussen deze tags zetten (zonder spaties)
[ code ]
Hier je script.
[/ code ]
ik krijg toch nog dezelfde error Warning: require(PHPMailer/PHPMailerAutoload.php): failed to open stream: No such file or directory in /home/u576256333/index.php on line 72
Fatal error: require(): Failed opening required 'PHPMailer/PHPMailerAutoload.php' (include_path='.:/opt/php-5.5/pear') in /home/u576256333/index.php on line 72
Ik heb alles nagekeken en alles staat goed met hoofdletters en al
$mail->isSMTP(); // We gaan een e-mail sturen via een andere server, Google in dit geval
$mail->Host = 'smtp.gmail.com'; // Hoe heet de server waar we vanaf willen sturen?
$mail->SMTPAuth = true; // Ja we willen de STMP gebruiken van een andere server
$mail->Username = '[email protected]'; // Jou gebruikersnaam van gmail incl. @gmail.com
$mail->Password = 'secret'; // Jou wachtwoord voor Gmail
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
krijg ik deze error:
2014-09-29 21:21:53 Connection: opening to smtp.gmail.com:587, t=10, opt=array ( ) 2014-09-29 21:21:53 Connection: opened 2014-09-29 21:21:53 SERVER -> CLIENT: 220 mx.google.com ESMTP pn5sm17009890wjc.4 - gsmtp 2014-09-29 21:21:53 CLIENT -> SERVER: EHLO *adress* 2014-09-29 21:21:53 SERVER -> CLIENT: 250-mx.google.com at your service, [31.170.165.253] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 2014-09-29 21:21:53 CLIENT -> SERVER: STARTTLS 2014-09-29 21:21:53 SERVER -> CLIENT: 220 2.0.0 Ready to start TLS 2014-09-29 21:21:53 CLIENT -> SERVER: EHLO *adress* 2014-09-29 21:21:53 SERVER -> CLIENT: 250-mx.google.com at your service, [31.170.165.253] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 2014-09-29 21:21:53 CLIENT -> SERVER: AUTH LOGIN 2014-09-29 21:21:53 SERVER -> CLIENT: 334 VXNlcm5hbWU6 2014-09-29 21:21:53 CLIENT -> SERVER: ZDkwcmVjQGdtYWlsLmNvbQ== 2014-09-29 21:21:53 SERVER -> CLIENT: 334 UGFzc3dvcmQ6 2014-09-29 21:21:53 CLIENT -> SERVER: Q09OTk9SMzIxMTIz 2014-09-29 21:21:54 SERVER -> CLIENT: 534-5.7.14 Please log in via your web browser and then try again. 534-5.7.14 Learn more at 534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 pn5sm17009890wjc.4 - gsmtp 2014-09-29 21:21:54 SMTP ERROR: Password command failed: 534-5.7.14 Please log in via your web browser and then try again. 534-5.7.14 Learn more at 534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 pn5sm17009890wjc.4 - gsmtp 2014-09-29 21:21:54 CLIENT -> SERVER: QUIT 2014-09-29 21:21:54 SERVER -> CLIENT: 221 2.0.0 closing connection pn5sm17009890wjc.4 - gsmtp 2014-09-29 21:21:54 Connection: closed 2014-09-29 21:21:54 SMTP connect() failed. Message could not be sent.Mailer Error: SMTP connect() failed.