Как напрямую установить учетные данные SMTP в Laravel Mailer без использования значений конфигурации?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как напрямую установить учетные данные SMTP в Laravel Mailer без использования значений конфигурации?

Сообщение Anonymous »

Я работаю над проектом Laravel, в котором мне нужно отправлять электронные письма с разными учетными данными SMTP для каждого письма. Вместо установки этих учетных данных в файлах конфигурации я хочу напрямую передать их методу Mail::mailer() в моем задании.
Иногда значения конфигурации установлены неправильно, и электронное письмо отправляется с использованием учетных данных из последнего отправленного электронного письма. Почему это происходит и как я могу гарантировать, что всегда используются правильные учетные данные?
Вот что у меня есть на данный момент:

Код: Выделить всё

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());
}
}
}
Я ожидал, что каждое электронное письмо будет отправлено с правильными учетными данными SMTP, предоставленными во время выполнения, не полагаясь на последние использованные значения конфигурации.

Подробнее здесь: https://stackoverflow.com/questions/787 ... onfig-valu
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»