Jake B.
Well-known member
- Affected version
- 2.2.8
When using mail services that require each address to be whitelisted separately even when the domain has been allowed (such as SendGrid) it is very hard to debug some errors related to this without knowing the from address being used, since it can be overwritten to use a different email address for things within add-ons (for example, having emails for a support system come from support@domain.com instead of the default address).
I ended up applying the following change to debug the issue we were having:
I ended up applying the following change to debug the issue we were having:
Diff:
diff --git a/src/XF/Mail/Mailer.php b/src/XF/Mail/Mailer.php
index 0b0223c06..0e48d1126 100644
--- a/src/XF/Mail/Mailer.php
+++ b/src/XF/Mail/Mailer.php
@@ -275,6 +275,7 @@ class Mailer
{
$to = $message->getTo();
$toEmails = $to ? implode(', ', array_keys($to)) : '[unknown]';
+ $fromEmail = $message->getFrom();
if (!$transport)
{
@@ -294,7 +295,7 @@ class Mailer
$this->queue->queueForRetry($message, $queueEntry);
}
- \XF::logException($e, false, "Email to {$toEmails} failed:");
+ \XF::logException($e, false, "Email to {$toEmails} failed from {$fromEmail}:");
return 0;
}
}
@@ -316,7 +317,7 @@ class Mailer
$this->queue->queueForRetry($message, $queueEntry);
}
- \XF::logException($e, false, "Email to {$toEmails} failed:");
+ \XF::logException($e, false, "Email to {$toEmails} failed from {$fromEmail}:");
// Any error may put us in an inconsistent state, so we need to reset the connection.
// Ideally this shouldn't throw anything but it could happen so we just want to swallow