mirror of https://github.com/itflow-org/itflow
Merge branch 'develop' of github.com:itflow-org/itflow into develop
This commit is contained in:
commit
7e39a7ed89
|
|
@ -46,7 +46,7 @@ if (isset($_GET['certificate_fetch_parse_json_details'])) {
|
|||
if (isset($_GET['merge_ticket_get_json_details'])) {
|
||||
enforceUserPermission('module_support');
|
||||
|
||||
$merge_into_ticket_number = intval($_GET['merge_into_ticket_number']);
|
||||
$merge_into_ticket_number = intval(preg_replace('/[^0-9]/', '', $_GET['merge_into_ticket_number']));
|
||||
|
||||
$sql = mysqli_query($mysqli, "SELECT ticket_id, ticket_number, ticket_prefix, ticket_subject, ticket_priority, ticket_status, ticket_status_name, client_name, contact_name FROM tickets
|
||||
LEFT JOIN clients ON ticket_client_id = client_id
|
||||
|
|
|
|||
|
|
@ -223,9 +223,8 @@ if (mysqli_num_rows($sql_queue) > 0) {
|
|||
|
||||
mysqli_query($mysqli, "UPDATE email_queue SET email_status = 1 WHERE email_id = $email_id");
|
||||
|
||||
// Check recipient
|
||||
$domain = sanitizeInput(substr($email_recipient, strpos($email_recipient, '@') + 1));
|
||||
if (!filter_var($email_recipient, FILTER_VALIDATE_EMAIL) || !checkdnsrr($domain, 'MX')) {
|
||||
// Basic recipient syntax check
|
||||
if (!filter_var($email_recipient, FILTER_VALIDATE_EMAIL)) {
|
||||
mysqli_query($mysqli, "UPDATE email_queue SET email_status = 2, email_attempts = 99 WHERE email_id = $email_id");
|
||||
$email_to_logging = sanitizeInput($email_recipient);
|
||||
$email_subject_logging = sanitizeInput($rowq['email_subject']);
|
||||
|
|
@ -234,6 +233,17 @@ if (mysqli_num_rows($sql_queue) > 0) {
|
|||
continue;
|
||||
}
|
||||
|
||||
// More intelligent recipient MX check (if not disabled with --no-mx-validation)
|
||||
$domain = sanitizeInput(substr($email_recipient, strpos($email_recipient, '@') + 1));
|
||||
if (!in_array('--no-mx-validation', $argv) && !checkdnsrr($domain, 'MX')) {
|
||||
mysqli_query($mysqli, "UPDATE email_queue SET email_status = 2, email_attempts = 99 WHERE email_id = $email_id");
|
||||
$email_to_logging = sanitizeInput($email_recipient);
|
||||
$email_subject_logging = sanitizeInput($rowq['email_subject']);
|
||||
logApp("Cron-Mail-Queue", "Error", "Failed to send email: $email_id to $email_to_logging due to invalid recipient domain (no MX). Email subject was: $email_subject_logging");
|
||||
appNotify("Mail", "Failed to send email #$email_id to $email_to_logging due to invalid recipient domain (no MX): Email subject was: $email_subject_logging");
|
||||
continue;
|
||||
}
|
||||
|
||||
try {
|
||||
sendQueueEmail(
|
||||
($config_smtp_provider ?: 'standard_smtp'),
|
||||
|
|
@ -275,7 +285,8 @@ if (mysqli_num_rows($sql_queue) > 0) {
|
|||
/** =======================================================================
|
||||
* RETRIES: status = 2 (Failed), attempts < 4, wait 30 min
|
||||
* NOTE: Backoff is `email_failed_at <= NOW() - INTERVAL 30 MINUTE`
|
||||
* =======================================================================*/
|
||||
* =======================================================================
|
||||
*/
|
||||
$sql_failed_queue = mysqli_query(
|
||||
$mysqli,
|
||||
"SELECT * FROM email_queue
|
||||
|
|
|
|||
Loading…
Reference in New Issue