2013-06-08 1 views
1

Попытка добавить «подтвердить свою учетную запись» кнопку действия «В приложении» на мои электронные письма, но она не работает. Я пробовал перемещать вещи, используя валидатор, поместив его в <head> или <body> (где это должно быть, кстати, документы противоречивы).Невозможно получить любую кнопку действия, чтобы показать

Это источник сообщения, которое я пытаюсь. Отправлено с помощью сервера Gmail SMTP (прикрепленный) из моего локального приложения DEV RoR на мой GMAIL адрес:

Return-Path: <[email protected]> 
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 <[email protected]> 
     (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: [email protected] 
Reply-To: [email protected] 
To: [email protected] 
Message-ID: <fdklsfjdklsjfd ... [email protected]> 
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, [email protected]!</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> 

ответ

2

кнопка не появляется, потому что ваша электронная почта не будет подписана с DKIM/SPF. Без подписи нет способа доказать, что отправитель на самом деле является самим собой и не позволяет злонамеренным отправителям обманывать ваш адрес электронной почты, поэтому разметка игнорируется. Убедитесь, что вы добавили подпись DKIM в свой код, и все будет работать по назначению.

Также обратите внимание, что после URL-адреса обработчика имеется дополнительная запятая, что делает недействительной разметку. Вы можете использовать инструмент Schema Validator, чтобы проверить разметку:

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

Наконец, чтобы ответить на ваш вопрос о правильном месте для разметки, в любом месте внутри либо <head> или <body> работает отлично.

+0

В документах упоминается «Вы можете легко проверить, правильно ли работает ваша разметка, отправив электронные письма со схемами в вашу учетную запись Gmail. Все электронные письма, в которых отправитель и получатель имеют одинаковую учетную запись, игнорируют требования к регистрации и могут для самотестирования ». поэтому я подумал, что это также игнорирует требование DKIM/SPF. Я отправлял через SMTP-сервер с проверкой подлинности Gmail. Я не знаю, как добавить подпись DKIM для почты, отправленной с @ gmail.com. –

+0

Мы рассматриваем другие способы упрощения тестирования, но на данный момент мне нечего делиться. Простой способ проверить прямо сейчас - с помощью скрипта приложений, как показано на странице https://developers.google.com/gmail/schemas/apps-script-tutorial –

+0

@ClaudioCherubino, пожалуйста, посмотрите мой вопрос http://stackoverflow.com/ д/18651446/1306394 – shashwat