在Rails应用程序中使用Google标记发送电子邮件

阿留

我正在尝试设置Gmail的电子邮件标记,但无法在Rails应用程序中对其进行测试。

为了对其进行测试,我将ActionMailer SMTP设置更改如下:

# config/environments/development.rb
config.action_mailer.smtp_settings = {
    :address => "smtp.gmail.com",
    :port => 587,
    :domain => 'gmail.com',
    :user_name => '[email protected]',
    :password => '[REDACTED]',
    :authentication => 'plain',
    :enable_starttls_auto => true
}

我的邮件程序设置默认值fromto地址,并定义以下方法mail_action

# app/mailers/test_mailer.rb
class TestMailer < ActionMailer::Base
  default from: "[email protected]"
  default to:   "[email protected]"

  def mail_action
    @data = confirm_action

    mail subject: "Mail action"
  end

  def confirm_action
    {
      "@context" => "http://schema.org",
      "@type" => "EmailMessage",
      "action" => {
        "@type" => "ConfirmAction",
        "name" => "Confirm registration",
        "handler" => {
          "@type" => "HttpActionHandler",
          "url" => "http://google.fr",
        },
      },
    }
  end
end

该方法confirm_action根据Google的文档为我的操作定义了标记

在该mail_action方法的视图中,将标记添加到<head>

# app/views/test_mailer/mail_action.html.haml
!!! Strict
%html
  %head
    %title Mail Action

    = content_tag :script, type: 'application/ld+json' do
      = JSON.generate(@data).html_safe

  %body
    %h1 Mail Action
    %pre
      = JSON.generate(@data).html_safe

我只是使用从Rails控制台发送电子邮件TestMailer.mail_action.deliver在收到的电子邮件中,我可以清楚地看到标记,但是操作按钮不在此处:

Return-Path: <[email protected]>
Received: from gmail.com ([REDACTED IP ADDRESS])
        by mx.google.com with ESMTPSA id qg11sm20491658wic.17.2014.12.17.03.07.30
        for <[email protected]>
        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Wed, 17 Dec 2014 03:07:36 -0800 (PST)
Date: Wed, 17 Dec 2014 12:07:29 +0100
From: [email protected]
To: [email protected]
Message-ID: <[email protected]>
Subject: Mail action
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <title>Mail Action</title>
    <script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ConfirmAction","name":"Confirm registration","handler":{"@type":"HttpActionHandler","url":"http://google.fr"}}}
    </script>
  </head>
  <body>
    <h1>Mail Action</h1>
    <pre>{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ConfirmAction","name":"Confirm registration","handler":{"@type":"HttpActionHandler","url":"http://google.fr"}}}</pre>
  </body>
</html>

Gmail收件箱

有谁知道我在想什么/做错了什么?提前致谢 !

杰拉多

要发送测试电子邮件,甚至发送给自己,也需要使用DKIM / SPF进行签名,以防止出现此问题中提到的欺骗:无法测试GMail自定义操作

您可以使用Apps Script测试标记发送和发送给自己的电子邮件。经过正确测试的标记之后,您就可以向Google注册。这是所需的信息https://developers.google.com/gmail/markup/registering-with-google#registration_guidelines

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails应用程序不发送电子邮件

来自分类Dev

如何在应用程序中使用用户的电子邮件ID发送电子邮件(无意图)

来自分类Dev

在nodemailer应用程序中使用通过发送电子邮件发送sendgrid会出现以下错误?

来自分类Dev

Angular JS从应用程序发送电子邮件

来自分类Dev

从AngularJS Web应用程序发送电子邮件

来自分类Dev

Angular JS从应用程序发送电子邮件

来自分类Dev

在生产服务器(DigitalOcean)上的rails应用程序中使用哪个端口通过SMTP(mailgun)发送电子邮件?

来自分类Dev

如何在asp.net mvc应用程序中使用Gmail SMTP发送电子邮件?

来自分类Dev

如何使应用程序能够从Google容器引擎发送电子邮件

来自分类Dev

从角度离子应用程序使用山rill发送电子邮件

来自分类Dev

应用程序无法使用Mail :: ... queue()发送电子邮件

来自分类Dev

如何使用Gmail / Yahoo / Outlook通过Smalltalk应用程序发送电子邮件

来自分类Dev

使用xlwt创建文件并在Django应用程序中发送电子邮件

来自分类Dev

使用Microsoft Outlook从Asp.Net Webform应用程序发送电子邮件

来自分类Dev

在.NET中使用Google SMTP发送电子邮件

来自分类Dev

在python中使用Google SMTP发送电子邮件

来自分类Dev

在MVC应用程序中使用SMTP客户端发送和发送电子邮件后,如何删除保存在服务器上的文件

来自分类Dev

更改Google电子表格的所有者以使用应用程序脚本发送电子邮件

来自分类Dev

如何通过设备上的默认邮件应用程序直接发送电子邮件

来自分类Dev

通过运行postfix的单独电子邮件服务器从php应用程序发送电子邮件

来自分类Dev

Google应用程序脚本通过个人电子邮件发送表单电子邮件

来自分类Dev

从Java应用程序发送电子邮件中的异常:中继被拒绝

来自分类Dev

在开发过程中如何阻止Java应用程序发送电子邮件?

来自分类Dev

无法通过ASP.NET应用程序发送电子邮件

来自分类Dev

要发送电子邮件,需要对MVC 3应用程序进行哪些更改?

来自分类Dev

命令行应用程序无法通过计划任务发送电子邮件

来自分类Dev

如何从Windows Phone 7应用程序发送电子邮件

来自分类Dev

从Windows Phone 7应用程序发送电子邮件

来自分类Dev

在MVC应用程序中发送电子邮件时遇到问题

Related 相关文章

  1. 1

    Rails应用程序不发送电子邮件

  2. 2

    如何在应用程序中使用用户的电子邮件ID发送电子邮件(无意图)

  3. 3

    在nodemailer应用程序中使用通过发送电子邮件发送sendgrid会出现以下错误?

  4. 4

    Angular JS从应用程序发送电子邮件

  5. 5

    从AngularJS Web应用程序发送电子邮件

  6. 6

    Angular JS从应用程序发送电子邮件

  7. 7

    在生产服务器(DigitalOcean)上的rails应用程序中使用哪个端口通过SMTP(mailgun)发送电子邮件?

  8. 8

    如何在asp.net mvc应用程序中使用Gmail SMTP发送电子邮件?

  9. 9

    如何使应用程序能够从Google容器引擎发送电子邮件

  10. 10

    从角度离子应用程序使用山rill发送电子邮件

  11. 11

    应用程序无法使用Mail :: ... queue()发送电子邮件

  12. 12

    如何使用Gmail / Yahoo / Outlook通过Smalltalk应用程序发送电子邮件

  13. 13

    使用xlwt创建文件并在Django应用程序中发送电子邮件

  14. 14

    使用Microsoft Outlook从Asp.Net Webform应用程序发送电子邮件

  15. 15

    在.NET中使用Google SMTP发送电子邮件

  16. 16

    在python中使用Google SMTP发送电子邮件

  17. 17

    在MVC应用程序中使用SMTP客户端发送和发送电子邮件后,如何删除保存在服务器上的文件

  18. 18

    更改Google电子表格的所有者以使用应用程序脚本发送电子邮件

  19. 19

    如何通过设备上的默认邮件应用程序直接发送电子邮件

  20. 20

    通过运行postfix的单独电子邮件服务器从php应用程序发送电子邮件

  21. 21

    Google应用程序脚本通过个人电子邮件发送表单电子邮件

  22. 22

    从Java应用程序发送电子邮件中的异常:中继被拒绝

  23. 23

    在开发过程中如何阻止Java应用程序发送电子邮件?

  24. 24

    无法通过ASP.NET应用程序发送电子邮件

  25. 25

    要发送电子邮件,需要对MVC 3应用程序进行哪些更改?

  26. 26

    命令行应用程序无法通过计划任务发送电子邮件

  27. 27

    如何从Windows Phone 7应用程序发送电子邮件

  28. 28

    从Windows Phone 7应用程序发送电子邮件

  29. 29

    在MVC应用程序中发送电子邮件时遇到问题

热门标签

归档