Files
thetool/scripts/warehouse-email-queue-process.php
2025-04-23 22:41:28 +02:00

53 lines
1.9 KiB
PHP

<?php
/** @noinspection PhpUndefinedClassInspection */
/** @noinspection PhpUndefinedNamespaceInspection */
/** @noinspection PhpVoidFunctionResultUsedInspection */
require("../config/config.php");
define('FRONKDB_SQLDEBUG', false);
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
require_once(LIBDIR . "/mvcfronk/mfRouter/mfRouter.php");
require_once(LIBDIR . "/mvcfronk/mfBase/mfBaseModel.php");
require_once(LIBDIR . "/mvcfronk/mfBase/mfBaseController.php");
define("INTERNAL_USER_ID", 1);
$me = new User(1);
foreach (WarehouseEmailQueue::getAll(["sent" => 0]) as $email) {
$date = date('Y-m-d H:i:s');
$mail = new PHPMailer\PHPMailer\PHPMailer(true);
try {
// Server settings
$mail->isSMTP();
$mail->Host = TT_WAREHOUSE_ORDER_SMTP_HOST;
$mail->SMTPAuth = true;
$mail->Username = TT_WAREHOUSE_ORDER_SMTP_USER;
$mail->Password = TT_WAREHOUSE_ORDER_SMTP_PASS;
$mail->SMTPSecure = PHPMailer\PHPMailer\PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
// Recipients
$mail->setFrom($email->from, $email->fromName);
$mail->addAddress($email->to, $email->toName);
// Content
$mail->isHTML(true);
$mail->Subject = $email->subject;
$mail->Body = $email->body;
if ($mail->send()) {
$email = (array)$email;
$email['sent'] = date('U');
WarehouseEmailQueue::update($email);
echo "[WarehouseEmailQueue] ($date) Message sent to {$email['to']} <br>";
} else {
echo "[WarehouseEmailQueue] ($date) Message could not be sent to {$email['to']} <br>";
echo "[WarehouseEmailQueue] Mailer Error: {$mail->ErrorInfo} <br>";
}
} catch (Exception $e) {
echo "[WarehouseEmailQueue] ($date) Message could not be sent to {$email['to']} <br>";
echo "[WarehouseEmailQueue] Mailer Error: {$mail->ErrorInfo} <br>";
}
}