【发布时间】:2020-12-20 22:18:31
【问题描述】:
我需要延迟几个小时发送电子邮件。我在可邮寄作品的构造函数中创建的所有内容:图片链接、从数据库中提取内容……
邮件看起来不错,但唯一奇怪的是所有传出链接似乎都已损坏。
在没有延迟的邮件中,链接如下所示:https://example.url.com/
在延迟的邮件中,它看起来像这样:http://localhost/email/n?l=https%3A%2F%2Fexample.url.com&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>
【问题讨论】:
-
请分享您在问题中生成 url 的代码。
-
@KurtFriars 刚刚编辑了它
-
禁用
mail-tracker能解决问题吗?
标签: php laravel email laravel-blade