1

「アカウントの確認」アプリ内アクション ボタンをメールに追加しようとしていますが、機能しません。<head>バリデーターを使用して、またはに入れてみました<body>(ちなみに、どこにあるはずですか?ドキュメントは矛盾しています)。

これは、私が試みているメッセージのソースです。Gmail SMTP サーバー (保護されている) を使用して、ローカルの dev RoR アプリから 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>
4

1 に答える 1

2

メールが DKIM/SPF で署名されていないため、ボタンが表示されません。署名がなければ、送信者が実際にあなた自身であることを証明し、悪意のある送信者があなたのメール アドレスを偽装するのを防ぐ方法がないため、マークアップは無視されています。コードに DKIM 署名を追加すると、すべてが意図したとおりに機能することを確認してください。

また、ハンドラー URL の後に余分なコンマがあり、マークアップが無効になることに注意してください。Schema Validator ツールを使用して、マークアップを確認できます。

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

最後に、マークアップの正しい場所についての質問に答えるために、<head>または内のどこでも問題なく<body>動作します。

于 2013-06-11T03:14:20.620 に答える