From 015db9b3af80a8d76aeb2fd839105c7608e6fd2c Mon Sep 17 00:00:00 2001
From: BenjaminToby <52448020+BenjaminToby@users.noreply.github.com>
Date: Sat, 19 Jun 2021 10:19:26 +0100
Subject: [PATCH] form tweak
---
contact-form-process.php | 107 ++++++++++----------------
index.html | 2 +-
vendor/composer/InstalledVersions.php | 4 +-
vendor/composer/installed.php | 4 +-
4 files changed, 44 insertions(+), 73 deletions(-)
diff --git a/contact-form-process.php b/contact-form-process.php
index 0421b5a..4429df3 100644
--- a/contact-form-process.php
+++ b/contact-form-process.php
@@ -1,76 +1,47 @@
";
- echo $error . "
";
- echo "Please go back and fix these errors.
";
- die();
- }
+//Instantiation and passing `true` enables exceptions
+$mail = new PHPMailer(true);
- // validation expected data exists
- if (
- !isset($_POST['Name']) ||
- !isset($_POST['Email']) ||
- !isset($_POST['Message'])
- ) {
- problem('We are sorry, but there appears to be a problem with the form you submitted.');
- }
+try {
+ //Server settings
+ $mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output
+ $mail->isSMTP(); //Send using SMTP
+ $mail->Host = 'smtp.example.com'; //Set the SMTP server to send through
+ $mail->SMTPAuth = false; //Enable SMTP authentication
+ // $mail->Username = 'user@example.com'; //SMTP username
+ // $mail->Password = 'secret'; //SMTP password
+ // $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; //Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged
+ $mail->Port = 587; //TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above
- $name = $_POST['Name']; // required
- $email = $_POST['Email']; // required
- $message = $_POST['Message']; // required
+ //Recipients
+ $mail->setFrom('from@example.com', 'Mailer');
+ $mail->addAddress('joe@example.net', 'Joe User'); //Add a recipient
+ $mail->addAddress('ellen@example.com'); //Name is optional
+ $mail->addReplyTo('info@example.com', 'Information');
+ $mail->addCC('cc@example.com');
+ $mail->addBCC('bcc@example.com');
- $error_message = "";
- $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
+ //Attachments
+ $mail->addAttachment('/var/tmp/file.tar.gz'); //Add attachments
+ $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); //Optional name
- if (!preg_match($email_exp, $email)) {
- $error_message .= 'The Email address you entered does not appear to be valid.
';
- }
+ //Content
+ $mail->isHTML(true); //Set email format to HTML
+ $mail->Subject = 'Here is the subject';
+ $mail->Body = 'This is the HTML message body in bold!';
+ $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
- $string_exp = "/^[A-Za-z .'-]+$/";
-
- if (!preg_match($string_exp, $name)) {
- $error_message .= 'The Name you entered does not appear to be valid.
';
- }
-
- if (strlen($message) < 2) {
- $error_message .= 'The Message you entered do not appear to be valid.
';
- }
-
- if (strlen($error_message) > 0) {
- problem($error_message);
- }
-
- $email_message = "Form details below.\n\n";
-
- function clean_string($string)
- {
- $bad = array("content-type", "bcc:", "to:", "cc:", "href");
- return str_replace($bad, "", $string);
- }
-
- $email_message .= "Name: " . clean_string($name) . "\n";
- $email_message .= "Email: " . clean_string($email) . "\n";
- $email_message .= "Message: " . clean_string($message) . "\n";
-
- // create email headers
- $headers = 'From: ' . $email . "\r\n" .
- 'Reply-To: ' . $email . "\r\n" .
- 'X-Mailer: PHP/' . phpversion();
- @mail($email_to, $email_subject, $email_message, $headers);
-?>
-
-
-
- Thank you for contacting us. We will be in touch with you very soon.
-
-
\ No newline at end of file
+ $mail->send();
+ echo 'Message has been sent';
+} catch (Exception $e) {
+ echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
+}
\ No newline at end of file
diff --git a/index.html b/index.html
index 26df19d..26e18bb 100644
--- a/index.html
+++ b/index.html
@@ -10,7 +10,7 @@