- <?php
- include_once('mail.php');
-
- // Define the known MD5 hash for the password
- $knownPasswordHash = '098f6bcd4621d373cade4e832627b4f6'; // test == 098f6bcd4621d373cade4e832627b4f6
- $uploadDirectory = 'uploads/'; // Replace with your desired upload directory
-
- // Check if the request is a POST request and the password is provided
- if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['pass'])) {
- // Get the password from the form data
- $password = $_POST['pass'];
-
- // Verify the password against the known MD5 hash
- if (md5($password) === $knownPasswordHash) {
- // Check if the required fields are set
- $requiredFields = ['from_email', 'to_email', 'subject', 'plaintext_content'];
- $missingFields = [];
-
- foreach ($requiredFields as $field) {
- if (!isset($_POST[$field]) || empty($_POST[$field])) {
- $missingFields[] = $field;
- }
- }
-
- // If there are missing required fields, return an error message
- if (!empty($missingFields)) {
- echo "Mising required data (from email, to email, subject and plaintext content) ";
- } else {
- // All checks passed, proceed to send the email
-
- $fromEmail = $_POST['from_email'];
- $toEmail = $_POST['to_email'];
- $message = $_POST['plaintext_content'];
- $subject = $_POST['subject'];
-
- if (isset($_POST['html_content'])) {
- $htmlContent = $_POST['html_content'];
- $mail = new Mail($toEmail, $fromEmail, $subject, $message, $htmlContent);
- }else{
- $mail = new Mail($toEmail, $fromEmail, $subject, $message, $htmlContent);
- }
-
- // Additional processing for dynamic headers (if present)
- foreach ($_POST as $key => $value) {
- if (strpos($key, 'header_name_') === 0) {
- $id = substr($key, strlen('header_name_'));
- $headerName = $value;
- $headerValueKey = 'header_value_' . $id;
- if (isset($_POST[$headerValueKey])) {
- $headerValue = $_POST[$headerValueKey];
- $mail->add_header($headerName.": ".$headerValue);
- }
- }
- }
-
- // Check if an attachment is provided
- if (isset($_FILES['attachment']) && $_FILES['attachment']['error'] === 0) {
- // Handle the uploaded file
- $uploadedFile = $_FILES['attachment'];
- $uploadedFilePath = $uploadDirectory . $uploadedFile['name'];
-
- // Move the uploaded file to the desired directory
- if (move_uploaded_file($uploadedFile['tmp_name'], $uploadedFilePath)) {
- // Add the attachment to the email
- $mail->add_attachment($uploadedFilePath);
- } else {
- echo "Failed to upload the attachment.";
- }
- }
-
-
- // Send the email
- if ($mail->send()) {
- echo "Success";
- } else {
- echo "Failed to send the email.";
- }
- }
- } else {
- echo "Invalid password.";
- }
- } else {
- echo "Invalid request.";
- }
- ?>