无法让Gmail一键确认操作按钮工作

Can't get gmail one click confirm action button working

本文关键字:操作 按钮 工作 确认 一键 Gmail      更新时间:2023-09-26

我遵循此处
所述的准则https://developers.google.com/gmail/schemas/reference/one-click-action

但它只是不会出现在我身上。如此处所述

自检

您可以通过以下方式轻松测试标记是否端到端工作正常 向您的 Gmail 帐户发送带有架构的电子邮件。所有电子邮件 发件人和收件人是同一帐户,忽略 注册要求,可用于自检。

我在往返地址中使用相同的Gmail地址,如下所示

GradeCard gc = new GradeCard("105106265", "BTS");
var m = new UserMailer().ConfirmSubscription("Shashwat", "user@email.com", new WatchListEmail() { fullName = "from Model", gc = gc });
Response.Write(m.Body);
var client = new SmtpClient("smtp.gmail.com", 587)
{
    Credentials = new NetworkCredential("user@email.com", "xxxxx"),
    EnableSsl = true
};
client.Send(m);

生成的邮件的 HTML 是这样的

<!DOCTYPE html>
<html>
<body>
    <div style="width: 600px; margin: auto; font-family: 'Segoe UI';">
        <h1 style="font-weight:lighter; border-bottom:1px solid #808080; padding:5px 0;">example.com</h1>
        <h3 style="font-weight:lighter;">Action Required. Confirm your subscription for EN abc</h3>
        <p>
            Dear <b>abc</b>
        </p>
        <script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "description": "Action Required. Confirm your subscription for EN 105106265",
  "action": {
    "@type": "ConfirmAction",
    "name": "Add to watchlist",
    "handler": {
      "@type": "HttpActionHandler",
      "url": "http://www.myignou.com?a=1&b=2"
    }
  }
}
</script>
<p>As you requested, We have just added your subscription to the following detailed enrollment number</p>
<p>
    ...
</p>
<p>
    Click <a href="http://www.myignou.com?a=1&b=2">here to confirm</a>
</p>
<div style="margin:10px 0;">
    <p>
        Here is your most recent copy of grade card as on <b>05-09-2013 00:03:37</b><br />
        Changeset ID: xxx
    </p>
    <table style="width: 100%; text-align: center; border-collapse: collapse;">
        ....
    </table>
    <h3 style="font-weight: lighter;">Other previous changes</h3>
        <div style="padding: 10px">
            <h4 style="font-weight: lighter; margin: 0">Updated on 03-09-2013 15:15:20</h4>
            <div>Changeset ID: abc</div>
            <div>
                ...
            </div>
        </div>
        <div style="padding: 10px">
            <h4 style="font-weight: lighter; margin: 0">Updated on 03-09-2013 15:14:21</h4>
            <div>Changeset ID: xxx</div>
            <div>
                ...
            </div>
        </div>
        <div style="padding: 10px">
            <h4 style="font-weight: lighter; margin: 0">Updated on 03-09-2013 15:14:21</h4>
            <div>Changeset ID: abca</div>
            <div>
                ...
            </div>
        </div>
    </div>
        <div style="padding: 10px; margin: 20px 0; background-color: #f2f0f0; font-size: 85%; color: #686868;">
            <b>&copy; 2013 myIGNOU.com</b><br />
        </div>
    </div>
</body>
</html>

您必须先获得Google的批准才能正常工作。

为此:

  1. 将经过验证的包含架构的电子邮件发送到特殊的谷歌电子邮件地址(使用此工具:https://www.google.com/webmasters/markup-tester/u/0/)...然后:

  2. 填写"Gmail 架构白名单请求"表单,其中描述了您的网站以及您打算使用一键式操作执行的操作。形式如下: https://docs.google.com/forms/d/1PA-vjjk3yJF7MLPOVKbIz3MBfhyma2obS8NIZ0JYx8I/viewform?pli=1&fbzx=-1177483801701354615

如果您检查电子邮件标题,我希望找不到DKIM/SPF签名,即使是自我测试也需要这样做。如果没有签名,任何人都可以欺骗您的电子邮件地址,并通过操作向您发送不需要的电子邮件。