switch to phpmailer to send emails #27
@ -1,6 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
|
require("/usr/share/php/libphp-phpmailer/autoload.php");
|
||||||
|
use PHPMailer\PHPMailer\PHPMailer;
|
||||||
|
use PHPMailer\PHPMailer\Exception;
|
||||||
|
|
||||||
|
$mail = new PHPMailer(true);
|
||||||
|
|
||||||
$errors = '';
|
$errors = '';
|
||||||
$myEmail = 'contact-form@astrolabe.coop'; // email address to send form content
|
$myEmail = getenv('ASTRO_SMTP_FROM');
|
||||||
|
|
||||||
if(empty($_POST['namezzz']) || empty($_POST['emailzzz']) || empty($_POST['message'])) {
|
if(empty($_POST['namezzz']) || empty($_POST['emailzzz']) || empty($_POST['message'])) {
|
||||||
$errors .= "\n Error: all fields are required";
|
$errors .= "\n Error: all fields are required";
|
||||||
@ -8,7 +14,7 @@
|
|||||||
|
|
||||||
if(!empty($_POST['name']) && !empty($_POST['email'])) {
|
if(!empty($_POST['name']) && !empty($_POST['email'])) {
|
||||||
$errors .= "\n Error: spam";
|
$errors .= "\n Error: spam";
|
||||||
}
|
}
|
||||||
|
|
||||||
$name = $_POST['namezzz'];
|
$name = $_POST['namezzz'];
|
||||||
$emailAddress = $_POST['emailzzz'];
|
$emailAddress = $_POST['emailzzz'];
|
||||||
@ -21,14 +27,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( empty($errors)) {
|
if( empty($errors)) {
|
||||||
$headers = array(
|
|
||||||
"From: " .$myEmail,
|
|
||||||
"Reply-To: " .$emailAddress,
|
|
||||||
"MIME-Version: 1.0",
|
|
||||||
"Content-Type: text/html;charset=UTF-8",
|
|
||||||
"Content-Transfer-Encoding:8bit"
|
|
||||||
);
|
|
||||||
|
|
||||||
$to = $myEmail;
|
$to = $myEmail;
|
||||||
$emailSubject = "[Formulaire Astrolabe] Nouveau message";
|
$emailSubject = "[Formulaire Astrolabe] Nouveau message";
|
||||||
|
|
||||||
@ -49,15 +47,35 @@
|
|||||||
$purpose = "Autre demande";
|
$purpose = "Autre demande";
|
||||||
}
|
}
|
||||||
|
|
||||||
$messageWrap = wordwrap($message, 70, "\r\n", false);
|
|
||||||
|
|
||||||
$emailBody = "Vous avez reçu un nouveau message depuis le formulaire du site Astrolabe :".
|
$emailBody = "Vous avez reçu un nouveau message depuis le formulaire du site Astrolabe :".
|
||||||
"\r\n\r\nNom: $name \r\nEmail: $emailAddress \r\nRaison: $purpose\r\nSubscribe: $subscribe\r\n\r\n$messageWrap";
|
"\r\n\r\nNom: $name \r\nEmail: $emailAddress \r\nRaison: $purpose\r\nSubscribe: $subscribe\r\n\r\n$message";
|
||||||
|
|
||||||
$emailBodyHTML = str_replace("\r\n", "<br>", $emailBody);
|
$emailBodyHTML = str_replace("\r\n", "<br>", $emailBody);
|
||||||
|
|
||||||
// send the email
|
$mail->isSMTP();
|
||||||
mail($to, $emailSubject, $emailBodyHTML, implode("\r\n", $headers));
|
$mail->Host = getenv('ASTRO_SMTP_HOSTNAME');
|
||||||
|
$mail->SMTPAuth = true;
|
||||||
|
$mail->Username = getenv('ASTRO_SMTP_USERNAME');
|
||||||
|
$mail->Password = getenv('ASTRO_SMTP_PASSWORD');
|
||||||
|
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
|
||||||
|
$mail->Port = 587;
|
||||||
|
|
||||||
|
//Options
|
||||||
|
$mail->CharSet = 'UTF-8';
|
||||||
|
$mail->WordWrap = 70;
|
||||||
|
|
||||||
|
//Recipients
|
||||||
|
$mail->setFrom($myEmail);
|
||||||
|
$mail->addAddress($myEmail);
|
||||||
|
$mail->addReplyTo($emailAddress, $name);
|
||||||
|
|
||||||
|
// Content
|
||||||
|
$mail->isHTML(true);
|
||||||
|
$mail->Subject = $emailSubject;
|
||||||
|
$mail->Body = $emailBodyHTML;
|
||||||
|
$mail->AltBody = $emailBody;
|
||||||
|
|
||||||
|
$mail->send();
|
||||||
|
|
||||||
// if subscribe add to mailing list
|
// if subscribe add to mailing list
|
||||||
if(!empty($subscribe)) {
|
if(!empty($subscribe)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user