File: /var/www/clapboard/contact-form.php
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require './Exception.php';
require './PHPMailer.php';
require './SMTP.php';
$mail = new PHPMailer(true);
$json_str = file_get_contents('php://input');
$json_obj = json_decode($json_str, true);
if($json_obj) {
$userName = $json_obj["name"];
$userEmail = $json_obj["email"];
$userMessage = $json_obj["message"];
$name = "";
$email = "";
$message = "";
$recipient = "info@borealis.biz";
$sender = "no-reply@clapboardapp.com";
$input_error = "";
$email_body = "<div>";
if(isset($userName) && !empty($userName)) {
$name = filter_var($userName, FILTER_SANITIZE_STRING);
$email_body .= "<div>
<label><b>Name:</b></label> <span>".$name."</span>
</div>";
}else{
$input_error = "Sending failed.";
}
if(isset($userEmail) && !empty($userEmail)) {
$email = str_replace(array("\r", "\n", "%0a", "%0d"), '', $userEmail);
$email = filter_var($email, FILTER_VALIDATE_EMAIL);
$email_body .= "<div>
<label><b>Email:</b></label> <span>".$email."</span>
</div>";
}else{
$input_error = "Sending failed.";
}
if(isset($userMessage) && !empty($userMessage)) {
$message = htmlspecialchars($userMessage);
$email_body .= "<div>
<label><b>Message:</b></label>
<div>".$message."</div>
</div>";
}else{
$input_error = "Sending failed.";
}
$email_body .= "</div>";
try {
//Server settings
$mail->isSMTP();
$mail->CharSet = 'UTF-8';
$mail->Encoding = 'base64';
$mail->Host = 'smtp.sendgrid.net';
$mail->SMTPAuth = true;
$mail->Username = 'apikey';
$mail->Password = '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';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
//Recipients
$mail->setFrom($sender, $name);
$mail->addAddress($recipient);
// Content
$mail->isHTML(true);
$mail->Subject = 'Clapboard contact form message from '.$name;
$mail->Body = $email_body;
if($input_error == ""){
$mail->send();
header('Content-Type: application/json');
$data = ["status"=>"success"];
echo json_encode($data);
}else{
header('Content-Type: application/json');
$data = ["status"=>$input_error];
echo json_encode($data);
}
} catch (Exception $e) {
header('Content-Type: application/json');
$data = ["status"=>"error"];
echo json_encode($data);
}
} else {
header('Content-Type: application/json');
$data = ["status"=>"error"];
echo json_encode($data);
}
?>