Gmail电子邮件标记无效

时间:2015-01-29 14:14:03

标签: html email gmail json-ld

我正在测试Gmail的Email Markup functionality for Parcel Deliveries,似乎我无法做到正确。这是sending an e-mail to myself之后的电子邮件内容:

Return-Path: <test.email@gmail.com>
Received: from my-pc.local ([my.ip.add.ress])
        by mx.google.com with ESMTPSA id 68sm3737559qgz.8.2015.01.29.06.06.37
        for <test.email@gmail.com>
        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Thu, 29 Jan 2015 06:06:38 -0800 (PST)
Date: Thu, 29 Jan 2015 11:06:33 -0300
From: "Test Name" <test.email@gmail.com>
To: test.email@gmail.com
Subject: Your package is on its way
Message-ID: <20150129140633.GA18059@my-pc.local>
MIME-Version: 1.0
Content-Type: text/html; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.23 (2014-03-12)

<html>
  <body>
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "ParcelDelivery",
      "deliveryAddress": {
        "@type": "PostalAddress",
        "streetAddress": "Test Address",
        "addressLocality": "Test locality",
        "addressRegion": "Test Region",
        "addressCountry": "CL",
        "postalCode": "7551234"
      },
      "expectedArrivalUntil": "2015-02-12T12:00:00-04:00",
      "carrier": {
        "@type": "Organization",
        "name": "Test org"
      },
      "itemShipped": {
        "@type": "Product",
        "name": "iPod Mini"
      },
      "partOfOrder": {
        "@type": "Order",
        "orderNumber": "176057",
        "merchant": {
          "@type": "Organization",
          "name": "Test Org 2"
        },
        "orderStatus": "OrderInTransit"
      },
      "trackingUrl": "http://track.com/track/1234567890",
      "trackingNumber": "1234567890"
    }
    </script>
    <p>Test paragraph</p>
  </body>
</html>

根据markup validator标记有效。我推荐(但不是必需的)字段是我缺少的。添加它们并没有帮助。

到目前为止,我还试过没有运气的微数据格式:

<html>
  <body>
    <div itemscope itemtype="http://schema.org/ParcelDelivery">
      <div itemprop="deliveryAddress" itemscope itemtype="http://schema.org/PostalAddress">
        <meta itemprop="streetAddress" content="Test Address"/>
        <meta itemprop="addressLocality" content="San Francisco"/>
        <meta itemprop="addressRegion" content="CA"/>
        <meta itemprop="addressCountry" content="US"/>
        <meta itemprop="postalCode" content="94107"/>
      </div>
      <meta itemprop="expectedArrivalUntil" content="2015-01-12T12:00:00-08:00"/>
      <div itemprop="carrier" itemscope itemtype="http://schema.org/Organization">
        <meta itemprop="name" content="Test Carrier"/>
      </div>
      <div itemprop="itemShipped" itemscope itemtype="http://schema.org/Product">
        <meta itemprop="name" content="iPod Mini"/>
      </div>
      <div itemprop="partOfOrder" itemscope itemtype="http://schema.org/Order">
        <meta itemprop="orderNumber" content="176057"/>
        <div itemprop="merchant" itemscope itemtype="http://schema.org/Organization">
          <meta itemprop="name" content="Bob Dole"/>
        </div>
        <meta itemprop="orderStatus" content="OrderInTransit"/>
      </div>
      <meta itemprop="trackingUrl" content="http://track.com/track/1234567890"/>
      <meta itemprop="trackingNumber" content="1234567890"/>
    </div>
    <p>Test paragraph</p>
  </body>
</html>

我错过了什么?

我使用mutt发送电子邮件:

mutt -e "set content_type=text/html" test.email@gmail.com -s "Your package is on its way" < test.html

或没有内容类型:

mutt test.email@gmail.com -s "Your package is on its way" < test.html

2 个答案:

答案 0 :(得分:1)

如果您使用Google SMTP中继,则必须使用如下所示的SPF记录:

{{1}}

来源:https://support.google.com/a/answer/178723?hl=en

答案 1 :(得分:0)

标记看起来很好。您需要使用DKIM或SPF验证您的邮件(请参阅https://developers.google.com/gmail/markup/registering-with-google#email_sender_quality_guidelines)。实现此目的的最简单方法是使用Gmails SMTP服务器而不是您自己的服务器。