首页 > 解决方案 > Gmail使用PHP Mailer在我的超链接中去除href

问题描述

所以我使用 php mailer 发送电子邮件。电子邮件已发送。当我在http://temp-mail.org打开该电子邮件时,超链接正在工作。但是当我在 gmail 上打开它时,gmail 会删除我的 href。

这是我的代码:

\Mail::send([], [], function ($message){
     $message->from('email@from.com', 'Email From');
     message->to('email@to.com');

     $body = '<a href="https://google.co.id">Check this link</a>';
     $message->setBody($body, 'text/html');
});

它适用于临时邮件,但在 gmail 上它只返回:

<a>Check this link</a>

在电子邮件的末尾,我得到了这个:

此消息中可能包含特权/机密信息。如果您不是指定的收件人或收件人,特此通知您,严禁对此处内容进行任何使用审查、披露或复制。在这种情况下,请丢弃其所有内容,并通过电子邮件通知发件人有关此类未经授权的披露或传输。本消息中与//发件人公务无关的意见、结论、陈述和其他信息,应被理解为既不给予也不认可。此处的内容仅供 //Sender 的指定收件人或收件人使用。//Sender 不对任何其他人禁止和未经授权的使用承担任何责任或义务。

标签: phplaravelphpmailer

解决方案


我遇到了同样的问题,并求助于以纯文本形式发送链接和其他元素。但就我而言,定位$mail->AltBody是导致问题的原因。

我的配置最初是这样的:

$mail->isHTML(true);
$mail->Body = $body_html;
$mail->AltBody = $body_plain;

但是,一旦我将订单更改为AltBody, Body, isHTML,我就能够毫无问题地交付 HTML 按钮和链接:

$mail->AltBody = $body_plain;
$mail->Body = $body_html;
$mail->isHTML(true);

推荐阅读