Laravel 延迟发送电子邮件会破坏链接
Laravel delaying emails breaks links
我需要延迟几个小时发送电子邮件。我在可邮寄作品的构造函数中创建的所有内容:图像 links,从数据库中提取内容,...
邮件看起来不错,但唯一奇怪的是所有外发的 link 似乎都已损坏。
在一封没有延迟的邮件中,link 看起来像这样:https://example.url.com/
在延迟的邮件中,它看起来像这样:http:///localhost/email/n?l=https%3A%2F%2Fexample.url.com&h=Kv1wny2TTU8RhdgPUXQEDpX8xHdKavz1
我不知道为什么这些 link 会变成这样...我毫不拖延地对其进行了测试,一切正常。
我是这样使用延迟的:
Mail::to($contestant->email)->locale('en')->later(now()->addMinutes(1), new NurtureMail($contestant));
我在电子邮件中唯一使用的其他东西是这个跟踪器 https://github.com/jdavidbakr/mail-tracker 用于一些报告。不知道跟这个有没有关系..
编辑 1:
我以两种方式生成 links:使用数据库中的内容,或来自这样的翻译:
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 中,我使用 link,例如:
<a href="{{ $offerLink }}">
Click me
</a>
我的 .env 文件中的 APP_URL 是 'http://localhost' 所以 mail-tracker 用它来转换跟踪链接。
我将其更改为正确的 url 后,效果很好
我需要延迟几个小时发送电子邮件。我在可邮寄作品的构造函数中创建的所有内容:图像 links,从数据库中提取内容,...
邮件看起来不错,但唯一奇怪的是所有外发的 link 似乎都已损坏。
在一封没有延迟的邮件中,link 看起来像这样:https://example.url.com/
在延迟的邮件中,它看起来像这样:http:///localhost/email/n?l=https%3A%2F%2Fexample.url.com&h=Kv1wny2TTU8RhdgPUXQEDpX8xHdKavz1
我不知道为什么这些 link 会变成这样...我毫不拖延地对其进行了测试,一切正常。
我是这样使用延迟的:
Mail::to($contestant->email)->locale('en')->later(now()->addMinutes(1), new NurtureMail($contestant));
我在电子邮件中唯一使用的其他东西是这个跟踪器 https://github.com/jdavidbakr/mail-tracker 用于一些报告。不知道跟这个有没有关系..
编辑 1:
我以两种方式生成 links:使用数据库中的内容,或来自这样的翻译:
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 中,我使用 link,例如:
<a href="{{ $offerLink }}">
Click me
</a>
我的 .env 文件中的 APP_URL 是 'http://localhost' 所以 mail-tracker 用它来转换跟踪链接。
我将其更改为正确的 url 后,效果很好