OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
cream
/
reader
/
znew1aws-ses
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
03/04/2025 08:32:49 AM
rwxr-xr-x
📄
.browserslistrc
208 bytes
03/03/2025 08:18:55 AM
rw-r--r--
📄
.gitignore
42 bytes
03/03/2025 08:18:55 AM
rw-r--r--
📄
.htaccess
803 bytes
03/03/2025 08:18:55 AM
rw-r--r--
📄
.htaccess.swp
12 KB
03/03/2025 08:18:55 AM
rw-r--r--
📄
.travis.yml
199 bytes
03/03/2025 08:18:55 AM
rw-r--r--
📄
addList.php
4.7 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
allTemplates.php
5 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
bbsns_subscribe.php
5.14 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
bcreateList.php
9.61 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
blacklist.php
14.09 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
bounceViewList.php
5.86 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
bounce_handler.php
9.87 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
bprocess_emails.php
6.73 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
checkNotificationTopics.php
5.11 KB
05/19/2025 10:07:15 AM
rw-r--r--
📁
check_identity
-
05/19/2025 10:07:15 AM
rwxr-xr-x
📄
checknotif.php
1.01 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
ckeditor.php
2.14 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
click_handler.php
1.75 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
combined.php
11.23 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
complaintsViewList.php
5.72 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
complaints_handler.php
2.89 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
composer.json
200 bytes
03/03/2025 08:18:56 AM
rw-r--r--
📄
composer.lock
39.12 KB
03/03/2025 08:18:56 AM
rw-r--r--
📄
createList.php
10.05 KB
05/19/2025 10:07:15 AM
rw-r--r--
📁
credentials
-
03/03/2025 08:25:28 AM
rwxr-xr-x
📄
csv.php
10.1 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
db.php
1000 bytes
05/19/2025 10:07:15 AM
rw-r--r--
📄
delete_list.php
509 bytes
05/19/2025 10:07:15 AM
rw-r--r--
📄
deliveryViewList.php
5.71 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
delivery_handler.php
3.25 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
download_Complaints.php
974 bytes
05/19/2025 10:07:15 AM
rw-r--r--
📄
download_bounces.php
1007 bytes
05/19/2025 10:07:15 AM
rw-r--r--
📄
download_delivered.php
971 bytes
05/19/2025 10:07:15 AM
rw-r--r--
📄
download_unique_open.php
1.6 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
edit_list.php
8.39 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
feedback.php
1.66 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
footer.php
4.71 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
housekeeping.php
9.97 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
index.php
8.12 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
insert_list.php
2.64 KB
05/19/2025 10:07:15 AM
rw-r--r--
📁
log
-
05/19/2025 10:07:15 AM
rwxr-xr-x
📄
navbar.php
1.64 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
newCompaign.php
5.94 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
open_handler.php
1.75 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
process_emails.php
10.21 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
real-recipients.csv
39.48 KB
03/03/2025 08:18:56 AM
rw-r--r--
📄
sample.csv
55 bytes
03/03/2025 08:18:56 AM
rw-r--r--
📄
send_email.php
987 bytes
05/19/2025 10:07:15 AM
rw-r--r--
📄
send_email_campaignGraph.php
2.24 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
sendgrid.php
3.62 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
showListMembers.php
4.54 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
showcase.php
7.93 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
sidebar.php
3.11 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
sns_subscribe.php
5.25 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
submit_form.php
2.48 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
test-mail.csv
337 bytes
03/03/2025 08:18:56 AM
rw-r--r--
📄
test.php
969 bytes
05/19/2025 10:07:15 AM
rw-r--r--
📄
test_process_emails.php
1.91 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
upload_image.php
606 bytes
05/19/2025 10:07:15 AM
rw-r--r--
📁
uploads
-
03/03/2025 08:25:38 AM
rwxr-xr-x
📁
vendor
-
05/19/2025 10:07:15 AM
rwxr-xr-x
📄
verify.html
486 bytes
03/03/2025 08:18:56 AM
rw-r--r--
📄
verify.php
3.12 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
verify_email.php
5.12 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
viewCampaign.php
13.05 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
viewList.php
8.47 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
zsidebar.php
3.27 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
zviewCampaign.php
8.94 KB
05/19/2025 10:07:15 AM
rw-r--r--
📄
zzprocess_emails.php
10.07 KB
05/19/2025 10:07:15 AM
rw-r--r--
Editing: zzprocess_emails.php
Close
<?php include '../inc/validate.logged.php'; use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require '../inc/PHPMailer/Exception.php'; require '../inc/PHPMailer/PHPMailer.php'; require '../inc/PHPMailer/SMTP.php'; function fetch_message_id($debug_mail) { $pattern = '/CLIENT: 250 Ok\s+([a-zA-Z0-9-]+-000000)/'; if (preg_match($pattern, $debug_mail, $matches)) { return $matches[1]; } else { return null; } } function sendEmail($campaignId, $fromEmail, $fromName, $toEmail, $toName, $emailSubject, $emailBody) { $feedbackBaseURL = "http://knoblycream.com/feedback.php"; $feedbackEmail = $feedbackBaseURL . "?campaign_id=" . $campaignId . "&email=" . urlencode($toEmail); $feedbackButtonYes = "<a href=\"" . $feedbackEmail . "&response=yes\"><button>Yes</button></a>"; $feedbackButtonNo = "<a href=\"" . $feedbackEmail . "&response=no\"><button>No</button></a>"; if (isSuppressionList($toEmail)) { return json_encode(['status' => 'suppressed']); } else { $debugMessages = ''; $mail = new PHPMailer(true); try { $mail->SMTPDebug = 2; // 2 = messages only $mail->Debugoutput = function ($str, $level) use (&$debugMessages) { // Append debug messages to the variable with timestamp and level $debugMessages .= date('Y-m-d H:i:s') . " [Level $level] $str\n"; }; $mail->CharSet = 'UTF-8'; $mail->isSMTP(); $mail->Host = 'email-smtp.ap-south-1.amazonaws.com'; $mail->SMTPAuth = true; $mail->Username = 'AKIARWSGL3TOGXCYQJVY'; $mail->Password = 'BIj9DvNM3uX+cckSX4So50fqln6DEhie6dMJpe3AjzqK'; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->setFrom($fromEmail, $fromName); $mail->addAddress($toEmail, $toName); $mail->isHTML(true); $mail->Subject = $emailSubject; $mail->Body = $emailBody . '<br>' . $feedbackButtonYes . '<br>' . $feedbackButtonNo; // Add headers $mail->addCustomHeader('X-SES-CONFIGURATION-SET', 'MyConfig'); // Replace with your configuration set name $mail->addCustomHeader('Return-Path', $fromEmail); // Replace with your verified bounce email address $mail->send(); $message_id = fetch_message_id($debugMessages); if (!empty($message_id)) { include 'db.php'; $sql = "INSERT INTO messages (campaign_id, message_id) VALUES ($campaignId,'$message_id')"; mysqli_query($conn, $sql); } return json_encode(['status' => 'verified', 'message_id' => $message_id]); } catch (Exception $e) { if (strpos($mail->ErrorInfo, 'Message rejected: Email address is not verified') !== false) { return json_encode(['status' => 'unverified']); } else { return json_encode(['status' => false, 'error' => $mail->ErrorInfo]); } } } } function isSuppressionList($email) { include 'db.php'; // Assuming 'db.php' includes your database connection $stmt = $conn->prepare("SELECT COUNT(*) AS count FROM suppression_list WHERE email=?"); $stmt->bind_param('s', $email); $stmt->execute(); $stmt->bind_result($count); // Removed 's' from bind_result, as bind_result takes only variable references $stmt->fetch(); // Fetch the result into $count if ($count === 1) { return true; } else { return false; } } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $action = isset($_POST['action']) ? $_POST['action'] : ''; $subject = isset($_POST['subject']) ? $_POST['subject'] : ''; $emailContent = isset($_POST['emailBody']) ? $_POST['emailBody'] : ''; $list_id = isset($_POST['list_id']) ? $_POST['list_id'] : ''; $campaignName = isset($_POST['createCampaign']) ? $_POST['createCampaign'] : ''; $message = ''; include 'db.php'; if ($action === 'mailer' || $action === 'newsletter') { // Insert campaign details into the database $sentDate = date('Y-m-d H:i:s'); $insertCampaignSql = "INSERT INTO campaigns (campaign_name, action, list_id, sent_date) VALUES ('$campaignName', '$action', '$list_id', '$sentDate')"; // mysqli_query($conn, $insertCampaignSql); if (mysqli_query($conn, $insertCampaignSql)) { // Fetch the auto-incremented id $campaignId = mysqli_insert_id($conn); } $sql = "SELECT name, email FROM subscribers WHERE list_id = '$list_id'"; $result = mysqli_query($conn, $sql); if ($result) { $unverifiedEmails = []; $verifiedEmails = []; $suppressedEmails = []; while ($row = mysqli_fetch_assoc($result)) { $toName = $row['name']; $toEmail = $row['email']; $sendResult = json_decode(sendEmail($campaignId, $gUserEmail, $gUserName, $toEmail, $toName, $subject, $emailContent), true); if ($sendResult['status'] === 'unverified') { $unverifiedEmails[] = $toEmail; } if ($sendResult['status'] === 'verified') { $verifiedEmails[] = $toEmail; } if ($sendResult['status'] === 'suppressed') { $suppressedEmails[] = $toEmail; } } if (!empty($unverifiedEmails)) { $message .= '<div class="alert alert-warning" role="alert">'; // $message .= 'Your Email address is not verified. Please verify your email address by clicking the <a href="verify.php">link</a> <br>'; $message .= 'Your Email address is not verified. Please verify your email address by contacting <a href="mailto:support@knobly.com">support@knobly.com</a> <br>'; $message .= 'The emails are not sent successfully for the below email addresses:'; $message .= '<ul>'; foreach ($unverifiedEmails as $unverifiedEmail) { $message .= '<li>' . htmlspecialchars($unverifiedEmail) . '</li>'; } $message .= '</ul>'; $message .= '</div>'; } if (!empty($verifiedEmails)) { $message .= '<div class="alert alert-success" role="alert">'; $message .= 'The emails are sent successfully for the below email addresses: '; $message .= '<ul>'; foreach ($verifiedEmails as $verifiedEmail) { $message .= '<li>' . htmlspecialchars($verifiedEmail) . '</li>'; } $message .= '</ul>'; $message .= '</div>'; } if (!empty($suppressedEmails)) { $message .= '<div class="alert alert-warning" role="alert">'; $message .= 'The below email addresses are in suppression list (i.e. these following emails have been bounced when you have sent the emails previously): '; $message .= '<ul>'; foreach ($suppressedEmails as $suppressedEmail) { $message .= '<li>' . htmlspecialchars($suppressedEmail) . '</li>'; } $message .= '</ul>'; $message .= '</div>'; } } else { $message = '<div class="alert alert-danger" role="alert">Error: ' . htmlspecialchars(mysqli_error($conn)) . '</div>'; } } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Knobly Cream: Create • Reach • Measure</title> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> <!-- Font Awesome CSS --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> <!-- Additional Stylesheets --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.0.0/animate.min.css"> <link rel="stylesheet" href="../inc/fontawesome/css/all.min.css"> <link rel="stylesheet" href="../inc/magnific-popup.css"> <link rel="stylesheet" href="../inc/style.css"> <link rel="stylesheet" href="../inc/genai_style.css"> <!-- jQuery --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <!-- Bootstrap JS and dependencies --> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.js" crossorigin="anonymous"></script> <script src="https://cdn.tiny.cloud/1/u5oz235qw5jiqww4udm90ocp9zg2rncblqo2ch0ym3twjgyt/tinymce/5/tinymce.min.js" referrerpolicy="origin"></script> <script src="https://js.zohostatic.com/books/zfwidgets/assets/js/zf-widget.js"></script> <script src="../inc/jquery.magnific-popup.min.js"></script> <script src="../inc/common.js"></script> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.3/dist/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script> <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"> </head> <body class="sb-nav-fixed"> <?php include "navbar.php"; ?> <div id="layoutSidenav"> <?php include 'sidebar.php'; ?> <div id="layoutSidenav_content"> <main> <div id="panelContent" class="container-fluid"> </div> <div class="container mt-5"> <?php if (isset($message)) echo $message; ?> </div> </main> </div> </div> </body> </html>