【问题标题】:Node.js nodemailer sending html with linkNode.js nodemailer 发送带有链接的 html
【发布时间】:2016-04-14 04:19:01
【问题描述】:

我正在使用 nodemailer 发送一封正文中带有锚点的 HTML 电子邮件。当我在 Thunderbird 中收到电子邮件时,电子邮件看起来很好,链接突出显示并带有下划线作为链接,但单击它什么也不做,链接不会打开。当我尝试复制链接位置时,我没有得到链接位置。

查看消息源,链接是用十六进制包裹的。

控制台中显示的链接:

    192.168.1.91:8000:8000/?ra=0

邮件正文:

    Return-Path: <xxx@gmail.com>
    Received: from [127.0.0.1] (host86-142-207-54.range86-142.btcentralplus.com. [86.142.207.54]) by smtp.gmail.com with ESMTPSA id v82sm3970454wmv.12.2016.01.09.06.26.50
    for <xxx@gmail.com> (version=TLSv1/SSLv3 cipher=OTHER); Sat, 09 Jan 2016 06:26:50 -0800 (PST) 
    Content-Type: text/html
    From: xxx@gmail.com
    To: xxx@gmail.com
    Subject: Authorisation required
    X-Mailer: nodemailer (1.10.0; +http://www.nodemailer.com; SMTP/1.0.4[client:1.3.6])
    Content-Transfer-Encoding: quoted-printable
    Date: Sat, 09 Jan 2016 14:26:50 +0000
    Message-Id: <1452349610887-6ade706c-d63c6769-932eb97c@gmail.com>
    MIME-Version: 1.0

    <html><body><strong>Simon Platten</strong> has submitted a <a  href=3D'http://192.168.1.91:8000:8000/?ra=3D0'>timesheet</a> for your review and approval.</body></html>

3D 是 '=' 的十六进制代码,但我为什么在消息中出现这些? 'ra=' 之后的 3D 也在 0 之前,0 是参数值。

【问题讨论】:

  • 原因是Content-Transfer-Encoding: quoted-printable,详情见What's a 3D doing in this HTML?
  • 谢谢,我会调查一下,这是否也解释了为什么链接不起作用?
  • 哦抱歉,忘记写链接部分了。 url 无效:您在 url (192.168.1.91:8000:8000) 中有两次端口 (:8000)。修复此问题并检查它是否可以正常工作。
  • 是的,我自己说的,第一次错过了,现在用这个修复测试。
  • 噢!是的,这就是问题所在......

标签: html node.js nodemailer


【解决方案1】:

在我的帖子中,地址有两个端口 ':8000' 被应用,我错过了这个,这是问题的根源,删除第二个端口解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多