Иногда значения конфигурации установлены неправильно, и электронное письмо отправляется с использованием учетных данных из последнего отправленного электронного письма. Почему это происходит и как я могу гарантировать, что всегда используются правильные учетные данные?
Вот что у меня есть на данный момент:
Код: Выделить всё
class SendEmail implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct(
protected $recipient,
protected $content,
protected $subject,
protected $emailLog,
protected $emailDraftSettings,
protected $processedVideo,
) {
}
public function handle()
{
try {
// Change default mail sending config values
$emailDraftSettings = $this->emailDraftSettings;
config([
'mail.default' => 'smtp_email_sender',
'mail.mailers.smtp_email_sender.username' => $emailDraftSettings->from_email_id,
'mail.mailers.smtp_email_sender.password' => $emailDraftSettings->from_email_password,
'mail.from.address' => $emailDraftSettings->from_email_id,
'mail.from.name' => $emailDraftSettings->name
]);
Mail::to($this->recipient)
->send(new BusinessInquiryEmail($this->content, $this->subject));
$this->emailLog->is_email_sent = EmailLog::SENT;
$this->emailLog->save();
} catch (Exception $e) {
$this->emailLog->is_email_sent = EmailLog::FAILED;
$this->emailLog->failure_reason = $e->getMessage();
$this->emailLog->save();
Log::error('Error occurred while sending email: ' . $e->getMessage());
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... onfig-valu