dbConnection(); $returnData = new CMsg(0); if ($_SERVER["REQUEST_METHOD"] != "POST") { $returnData = new CMsg(0, 404, 'Page Not Found! REQUEST_METHOD'); echo $returnData->jsonarray(); return; } if ( !isset($_POST['fromEmail']) || !isset($_POST['toEmail']) || !isset($_POST['qr_id']) || !isset($_POST['name']) || !isset($_POST['msg']) || empty(trim($_POST['fromEmail'])) || empty(trim($_POST['toEmail'])) || empty(trim($_POST['qr_id'])) || empty(trim($_POST['name'])) || empty(trim($_POST['msg'])) ) { $fields = ['fields' => ['fromEmail', 'toEmail', 'qr_id', 'name', 'msg']]; $returnData = new CMsg(0, 422, 'Please Fill in all Required Fields!', $fields); echo $returnData->jsonarray(); return; } // IF THERE ARE NO EMPTY FIELDS THEN- $fromEmail = trim($_POST['fromEmail']); $toEmail = trim($_POST['toEmail']); $qr_id = trim($_POST['qr_id']); $name = trim($_POST['name']); $msg = trim($_POST['msg']); if (!filter_var($fromEmail, FILTER_VALIDATE_EMAIL)) { $returnData = new CMsg(0, 422, 'Invalid Email Address!', 'fromEmail'); echo $returnData->jsonarray(); return; } if (!filter_var($toEmail, FILTER_VALIDATE_EMAIL)) { $returnData = new CMsg(0, 422, 'Invalid Email Address!', 'toEmail'); echo $returnData->jsonarray(); return; } $subject = 'Dog Found ' . $name .' '. $qr_id; $headers[] = 'From: '. $fromEmail; $headers[] = 'Cc: '. $fromEmail; $headers[] = 'Bcc: dog@hope-fly.de'; try { $ret = mail($toEmail,$subject,$msg,implode("\r\n", $headers)); if($ret) { $result = new CMsg(1, 200, "Email send successfully."); $storeResult = storeEmail(); } else { $result = new CMsg(1, 500, "Sorry, there was an error sending your email your file."); } echo $result->jsonarray(); } catch (Exception $e) { $result = new CMsg(0, 500, $e->getMessage() ); echo $result->jsonarray(); } function storeEmail() { global $qr_id, $conn, $msg, $fromEmail; $dogRes = getDogByQrId($qr_id, $conn); if($dogRes->success) { $sql = "INSERT INTO contact_emails (dogs_id, from_email, msg) VALUES (?,?,?)"; $conn->prepare($sql)->execute([$dogRes->data['id'], $fromEmail, $msg]); // throw PDO::exception when failed } return $dogRes; } ?>