Skip to content

Commit ae5ffb9

Browse files
authored
Merge pull request #345 from sammyskills/fix-email-delivery-error-log
2 parents db757d4 + 011884d commit ae5ffb9

File tree

3 files changed

+30
-22
lines changed

3 files changed

+30
-22
lines changed

src/Authentication/Actions/Email2FA.php

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,16 +71,18 @@ public function handle(IncomingRequest $request)
7171

7272
// Send the user an email with the code
7373
helper('email');
74-
$return = emailer()->setFrom(setting('Email.fromEmail'), setting('Email.fromName') ?? '')
75-
->setTo($user->email)
76-
->setSubject(lang('Auth.email2FASubject'))
77-
->setMessage(view(setting('Auth.views')['action_email_2fa_email'], ['code' => $identity->secret]))
78-
->send();
79-
80-
if ($return === false) {
81-
throw new RuntimeException('Cannot send email for user: ' . $user->email);
74+
$email = emailer()->setFrom(setting('Email.fromEmail'), setting('Email.fromName') ?? '');
75+
$email->setTo($user->email);
76+
$email->setSubject(lang('Auth.email2FASubject'));
77+
$email->setMessage(view(setting('Auth.views')['action_email_2fa_email'], ['code' => $identity->secret]));
78+
79+
if ($email->send(false) === false) {
80+
throw new RuntimeException('Cannot send email for user: ' . $user->email . "\n" . $email->printDebugger(['headers']));
8281
}
8382

83+
// Clear the email
84+
$email->clear();
85+
8486
return view(setting('Auth.views')['action_email_2fa_verify']);
8587
}
8688

src/Authentication/Actions/EmailActivator.php

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,18 @@ public function show(): string
4141

4242
// Send the email
4343
helper('email');
44-
$return = emailer()->setFrom(setting('Email.fromEmail'), setting('Email.fromName') ?? '')
45-
->setTo($userEmail)
46-
->setSubject(lang('Auth.emailActivateSubject'))
47-
->setMessage(view(setting('Auth.views')['action_email_activate_email'], ['code' => $code]))
48-
->send();
49-
50-
if ($return === false) {
51-
throw new RuntimeException('Cannot send email for user: ' . $user->email);
44+
$email = emailer()->setFrom(setting('Email.fromEmail'), setting('Email.fromName') ?? '');
45+
$email->setTo($userEmail);
46+
$email->setSubject(lang('Auth.emailActivateSubject'));
47+
$email->setMessage(view(setting('Auth.views')['action_email_activate_email'], ['code' => $code]));
48+
49+
if ($email->send(false) === false) {
50+
throw new RuntimeException('Cannot send email for user: ' . $user->email . "\n" . $email->printDebugger(['headers']));
5251
}
5352

53+
// Clear the email
54+
$email->clear();
55+
5456
// Display the info page
5557
return view(setting('Auth.views')['action_email_activate_show'], ['user' => $user]);
5658
}

src/Controllers/MagicLinkController.php

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,20 @@ public function loginAction()
9090

9191
// Send the user an email with the code
9292
helper('email');
93-
$return = emailer()->setFrom(setting('Email.fromEmail'), setting('Email.fromName') ?? '')
94-
->setTo($user->email)
95-
->setSubject(lang('Auth.magicLinkSubject'))
96-
->setMessage(view(setting('Auth.views')['magic-link-email'], ['token' => $token]))
97-
->send();
93+
$email = emailer()->setFrom(setting('Email.fromEmail'), setting('Email.fromName') ?? '');
94+
$email->setTo($user->email);
95+
$email->setSubject(lang('Auth.magicLinkSubject'));
96+
$email->setMessage(view(setting('Auth.views')['magic-link-email'], ['token' => $token]));
97+
98+
if ($email->send(false) === false) {
99+
log_message('error', $email->printDebugger(['headers']));
98100

99-
if ($return === false) {
100101
return redirect()->route('magic-link')->with('error', lang('Auth.unableSendEmailToUser', [$user->email]));
101102
}
102103

104+
// Clear the email
105+
$email->clear();
106+
103107
return $this->displayMessage();
104108
}
105109

0 commit comments

Comments
 (0)