无法显示任何操作按钮

时间:2013-06-08 07:24:07

标签: html smtp user-accounts google-schemas

尝试在我的电子邮件中添加“确认您的帐户”应用内操作按钮,但它无效。我已尝试使用验证器移动内容,将其放入<head><body>(顺便说一句,它应该在哪里?文档是矛盾的。)

这是我正在尝试的消息的来源。使用我的本地开发者RoR应用中的Gmail SMTP服务器(安全)发送到我的Gmail地址:

Return-Path: <me@gmail.com>
Received: from localhost.localdomain (97.248.35.213.dyn.estpak.ee. [213.35.248.97])
        by mx.google.com with ESMTPSA id id.00.00....
        for <me@gmail.com>
        (version=TLSv1 cipher=RC4-SHA bits=128/128);
        Sat, 08 Jun 2013 00:18:04 -0700 (PDT)
Date: Sat, 08 Jun 2013 10:18:02 +0300
From: me@gmail.com
Reply-To: me@gmail.com
To: me@gmail.com
Message-ID: <fdklsfjdklsjfd ... fdsfds@bla.mail>
Subject: Confirmation instructions
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "EmailMessage",
      "description": "Confirm my account",
      "action": {
        "@type": "ConfirmAction",
        "name": "Confirm my account",
        "handler": {
          "@type": "HttpActionHandler",
          "url": "http://example.com/account/confirmation?confirmation_token=x574WeRJJNUuhiPqfVah",
        }
      }
    }
    </script>
  </head>
  <body>
    <p>Hi there, me@gmail.com!</p>

    <p>You can confirm your account email through the link below:</p>

    <p><a href="http://example.com/account/confirmation?confirmation_token=x574WeRJJNUuhiPqfVah">Confirm my account</a></p>
  </body>
</html>

1 个答案:

答案 0 :(得分:2)

该按钮未显示,因为您的电子邮件未使用DK​​IM / SPF签名。如果没有签名,则无法证明发件人实际上是您自己并阻止恶意发件人欺骗您的电子邮件地址,因此标记被忽略。确保将DKIM签名添加到您的代码中,一切都将按预期工作。

另请注意,您在处理程序网址后面有一个额外的逗号,这会使您的标记无效。您可以使用Schema Validator工具检查您的标记:

https://developers.google.com/gmail/schemas/testing-your-schema

最后,要回答有关标记正确位置的问题,<head><body>内的任何位置都可以正常工作。