Laravel, задерживающий электронные письма, разрывает ссылки

#php #laravel #email #laravel-blade

#php #laravel #Адрес электронной почты #laravel-blade

Вопрос:

Мне нужно отправлять электронные письма с задержкой в пару часов. Все, что я создаю в функции построения моих почтовых работ: ссылки на изображения, извлечение данных из базы данных, …

Письма выглядят хорошо, но единственная странность заключается в том, что все исходящие ссылки кажутся неработающими.

В письме без задержки ссылка выглядит так:https://example.url.com /

В почте с задержкой это выглядит так: http://localhost/email/n?l=https://example.url.comamp;h=Kv1wny2TTU8RhdgPUXQEDpX8xHdKavz1

Я понятия не имею, почему эти ссылки преобразуются в это… Я протестировал это без задержек, и все работает так, как должно.

Я использую задержку следующим образом:

 Mail::to($contestant->email)->locale('en')->later(now()->addMinutes(1), new NurtureMail($contestant));
  

Единственное, что я использую в электронных письмах, — это этот трекер https://github.com/jdavidbakr/mail-tracker для некоторых отчетов. Я не знаю, имеет ли это какое-то отношение к этому..

Редактировать 1:

Я генерирую ссылки 2 способами: с помощью материалов из базы данных или из переводов, подобных этому:

 class NurtureMail extends Mailable
{
    use Queueable, SerializesModels;

    private $offerLink;
    private $site;

    public function __construct($contestant)
    {
        $this->contestant = $contestant;
        
        $this->brand = $this->contestant->brand; 
        
        ...

        $this->site = 'https://'.$this->brand.'.'.'com';
        $this->offerLink = trans('mail.offerLink.dacia');
    }

    public function build()
    {
        return $this->from($this->senderMail, $this->senderName)
                    ->subject($this->mailSubject)
                    ->view('emails.email', [
                        'offerLink' => $this->offerLink,
                        'site' => $this->site,
                    ]);
    }
}
  

В email.blade.php я использую ссылки, подобные этой, например:

 <a href="{{ $offerLink }}">
  Click me
</a>
  

Комментарии:

1. Пожалуйста, поделитесь кодом, в котором вы генерируете URL в своем вопросе.

2. @KurtFriars только что отредактировал это

3. Решает ли проблему отключение mail-tracker ?

Ответ №1:

APP_URL в моем файле .env был ‘http://localhost » итак, mail-tracker использовал это для преобразования отслеживаемых ссылок.

Как только я изменил его на правильный URL, он работал нормально