forked from PHPMailer/PHPMailer
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
71 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
<?php | ||
/** | ||
* This example shows how to handle a simple contact form. | ||
*/ | ||
|
||
$msg = ''; | ||
//Don't run this unless we're handling a form submission | ||
if (array_key_exists('email', $_POST)) { | ||
date_default_timezone_set('Etc/UTC'); | ||
|
||
require '../PHPMailerAutoload.php'; | ||
|
||
//Create a new PHPMailer instance | ||
$mail = new PHPMailer; | ||
//Tell PHPMailer to use SMTP - requires a local mail server | ||
//Faster and safer than using mail() | ||
$mail->isSMTP(); | ||
$mail->Host = 'localhost'; | ||
$mail->Port = 25; | ||
|
||
//Use a fixed address in your own domain as the from address | ||
//**DO NOT** use the submitter's address here as it will be forgery | ||
//and will cause your messages to fail SPF checks | ||
$mail->setFrom('[email protected]', 'First Last'); | ||
//Send the message to yourself, or whoever should receive contact for submissions | ||
$mail->addAddress('[email protected]', 'John Doe'); | ||
//Put the submitter's address in a reply-to header | ||
//This will fail if the address provided is invalid, | ||
//in which case we should ignore the whole request | ||
if ($mail->addReplyTo($_POST['email'], $_POST['name'])) { | ||
$mail->Subject = 'PHPMailer contact form'; | ||
//Keep it simple - don't use HTML | ||
$mail->isHTML(false); | ||
//Build a simple message body | ||
$mail->Body = <<<EOT | ||
Email: {$_POST['email']} | ||
Name: {$_POST['name']} | ||
Message: {$_POST['message']} | ||
EOT; | ||
//Send the message, check for errors | ||
if (!$mail->send()) { | ||
//The reason for failing to send will be in $mail->ErrorInfo | ||
//but you shouldn't display errors to users - process the error, log it on your server. | ||
$msg = 'Sorry, something went wrong. Please try again later.'; | ||
} else { | ||
$msg = 'Message sent! Thanks for contacting us.'; | ||
} | ||
} else { | ||
$msg = 'Invalid email address, message ignored.'; | ||
} | ||
} | ||
?> | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<title>Contact form</title> | ||
</head> | ||
<body> | ||
<h1>Contact us</h1> | ||
<?php if (!empty($msg)) { | ||
echo "<h2>$msg</h2>"; | ||
} ?> | ||
<form method="POST"> | ||
<label for="name">Name: <input type="text" name="name" id="name"></label><br> | ||
<label for="email">Email address: <input type="email" name="email" id="email"></label><br> | ||
<label for="message">Message: <textarea name="message" id="message" rows="8" cols="20"></textarea></label><br> | ||
<input type="submit" value="Send"> | ||
</form> | ||
</body> | ||
</html> |