Я использую Ruby on Rails для генерации электронной почты. Как упоминалось в Email markup docs, я модифицировал мои (* .html.haml) шаблоны, чтобы включить схему для Email markup. Ниже код из моего шаблона почтовой программы:Email markup-Gmail, изменяющий тег <script>, чтобы добавить дополнительную строку «3D»
%script{ type: "application/ld+json" }
{
"@context" : "http://schema.org",
"@type" : "FoodEstablishmentReservation",
"reservationNumber" : "#{reservation.id}",
...
}
Я также изменил отправителя и получателя сообщения электронной почты на тот же электронный идентификатор, как указано here для тестирования схемы в режиме разработки.
Когда я получаю письмо в своем почтовом ящике Gmail, и я не вижу ничего другого. Когда я проверить Исходное сообщение сообщения электронной почты, он показывает:
Return-Path: <[email protected]>
...
Date: Wed, 21 Dec 2016 13:14:45 +0530
From: [email protected]
To: [email protected]
...
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_585a32ecf2d94_143673fd10d24128893014"; charset=UTF-8
Content-Transfer-Encoding: 7bit
----==_mimepart_585a32ecf2d94_143673fd10d24128893014
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
...
<script type=3D'application/ld+json'>
{
"@context" : "http://schema.org",
"@type" : "FoodEstablishmentReservation",
"reservationNumber" : "<reservation-id>",
...
}
</script>
...
Теперь, если я проверить это содержание <script>
тегов в Email markup tester, он говорит «нет структурированных данных не присутствует», но как только я удалите «3D» с тега <script>
и сделайте его <script type='application/ld+json'>
, он правильно структурирует данные для всех полей.
Итак, я не могу понять, почему эта дополнительная строка «3D» добавляется в HTML? Это из-за Хэмла? или Gmail делает это? И есть ли что-нибудь, что я могу исправить, чтобы протестировать эту разметку электронной почты в среде разработки. Позвольте мне знать, нужна ли дополнительная информация.
Это система кодирования электронной почты, которая позволяет не-ASCII символы, которые будут представлены в виде ASCII для электронной транспортировки. Эта кодировка называется «quoted-printable», поэтому в вашем письме есть 3D-значение. Если вы проверите этот связанный [SO post] (http://stackoverflow.com/a/4016098/5995040), в котором обсуждались некоторые способы избежать этого, например, изменить его на «Content-Transfer-Encoding». Надеюсь это поможет. –
Вы нашли, как это решить? – Daniel