Anxhelo Lushka
7 years ago
committed by
GitHub
1 changed files with 65 additions and 0 deletions
@ -0,0 +1,65 @@ |
|||||
|
<?php |
||||
|
|
||||
|
//Import the PHPMailer class into the global namespace |
||||
|
use PHPMailer\PHPMailer\PHPMailer; |
||||
|
require '../vendor/autoload.php'; |
||||
|
|
||||
|
if (array_key_exists('to', $_POST)) { |
||||
|
$err = false; |
||||
|
$msg = ''; |
||||
|
$email = ''; |
||||
|
|
||||
|
//Apply some basic validation and filtering to the name |
||||
|
if (array_key_exists('name', $_POST)) { |
||||
|
//Limit length and strip HTML tags |
||||
|
$name = substr(strip_tags($_POST['name']), 0, 255); |
||||
|
} else { |
||||
|
$name = ''; |
||||
|
} |
||||
|
|
||||
|
//Apply some basic validation and filtering to the surname |
||||
|
if (array_key_exists('surname', $_POST)) { |
||||
|
//Limit length and strip HTML tags |
||||
|
$name = substr(strip_tags($_POST['name']), 0, 255); |
||||
|
} else { |
||||
|
$name = ''; |
||||
|
} |
||||
|
|
||||
|
//Validate to address |
||||
|
//Never allow arbitrary input for the 'to' address as it will turn your form into a spam gateway! |
||||
|
//Substitute appropriate addresses from your own domain, or simply use a single, fixed address |
||||
|
if (array_key_exists('to', $_POST) and in_array($_POST['to'], ['anxhelo1995'])) { |
||||
|
$to = $_POST['to'] . '@gmail.com'; |
||||
|
} else { |
||||
|
$to = 'anxhelo1995@gmail.com'; |
||||
|
} |
||||
|
|
||||
|
//Make sure the address they provided is valid before trying to use it |
||||
|
if (array_key_exists('email', $_POST) and PHPMailer::validateAddress($_POST['email'])) { |
||||
|
$email = $_POST['email']; |
||||
|
} else { |
||||
|
$msg .= "Error: invalid email address provided"; |
||||
|
$err = true; |
||||
|
} |
||||
|
|
||||
|
if (!$err) { |
||||
|
$mail = new PHPMailer; |
||||
|
$mail->isSMTP(); |
||||
|
$mail->Host = 'localhost'; |
||||
|
$mail->Port = 2500; |
||||
|
$mail->CharSet = 'utf-8'; |
||||
|
//It's important not to use the submitter's address as the from address as it's forgery, |
||||
|
//which will cause your messages to fail SPF checks. |
||||
|
//Use an address in your own domain as the from address, put the submitter's address in a reply-to |
||||
|
$mail->setFrom('form@ura.design', (empty($name) ? 'Contact form' : $name)); |
||||
|
$mail->addAddress($to); |
||||
|
$mail->addReplyTo($email, $name); |
||||
|
$mail->Subject = 'Contact form: ' . $subject; |
||||
|
$mail->Body = "Contact form submission\n\n" . $projectname . $message . $budget; |
||||
|
if (!$mail->send()) { |
||||
|
$msg .= "Mailer Error: " . $mail->ErrorInfo; |
||||
|
} else { |
||||
|
$msg .= "Message sent!"; |
||||
|
} |
||||
|
} |
||||
|
} ?> |
Loading…
Reference in new issue