【问题标题】:How can i send emails without a server ? Only front-end Javascript with sendgrid or如何在没有服务器的情况下发送电子邮件?只有带有 sendgrid 的前端 Javascript 或
【发布时间】:2015-11-09 13:11:16
【问题描述】:

我最近想知道如何通过电子邮件即服务应用程序(如 sendgrid 或 mandrill 等)仅使用 Javascript 等前端语言发送电子邮件。

Sendgrid 和 mandrill 有 Curl APIS,所以基本上我可以向他们的 API 发出 AJAX 发布请求以发送邮件,但问题是,我必须将我的 API 密钥放在 JS 文件中,这意味着它将公开......虽然它应该是秘密的。

在这两个应用程序上,文档中没有关于前端使用的任何内容,除了拥有将使用 API 的自己的服务器,但我目前在基于前端的项目中。无需服务器编程,服务器仅渲染资产即可。

你们知道实现这一目标的任何方法或应用程序吗?谢谢

【问题讨论】:

  • 据我所知,如果不显示密钥,这是不可能的。
  • mmmh 但是使用密钥执行此操作会带来一些安全问题,因为任何人都可以使用我的密钥,不是吗? @RobinR
  • 我就是这么说的。有可能的?但是当你在没有 PHP 或其他不可读的客户端文件的情况下这样做时,这将是一个安全问题。
  • 好吧,我发现了这个:emailjs.com 看来他们找到了一种方法,我猜@RobinR
  • 如果您还使用不同类型的第三方解决方案设置自动电子邮件 - 如果您使用新的 Maker 渠道监控网站,ifttt.com 可以向您发送电子邮件,它可以通过常规 POST 命令运行。它不会是超级可靠的,但应该让你知道有问题

标签: javascript email frontend sendgrid web-frontend


【解决方案1】:

您可以将Smtp.jsemailjs 用于前端。

【讨论】:

    【解决方案2】:

    您可以将无服务器架构与用 JavaScript 编写的 AWS Lambda 函数结合使用。

    【讨论】:

    • 嗯,这意味着我需要编写我不想要的代码,我正在寻找仅进行前端开发的工具。显然 Mailchimp 有一个 api,但仍然需要一些后端代码,这很痛苦。
    【解决方案3】:

    另一种方法是让每个用户使用他或她自己的外发邮件服务器,通过使用 mailto: 链接,它允许您指定标头信息以及一个名为“body”的准标头,它将您的内容放在希望进入消息正文。

    【讨论】:

    • 我认为这不是这里的最佳解决方案。用户将向自己发送邮件。这不是专业的做事方式。
    【解决方案4】:

    您可以使用 FormSpree。只需在表单操作中提供 url。

    https://formspree.io/

    【讨论】:

    • 不,“默认情况下,用户在提交后会看到 Formspree “谢谢”页面。”必须付费才能拥有自定义表单提交页面,并且免费计划每月限制为 50 封电子邮件。
    • 是的,这项服务的免费套餐似乎非常有限。这是一个完全基于后端的解决方案,但您花钱请人为您处理此后端。
    【解决方案5】:

    如果您想保证密钥的安全,可以使用 Aerobatic 的 HTTP Proxy 之类的东西通过服务器环境指定密钥和代理。

    【讨论】:

      【解决方案6】:

      几个建议

      【讨论】:

      • 这些是非常好的替代解决方案,谢谢!但是对于其中 2 个,我将不得不远程创建表单并嵌入它(这不是最初的想法),对于 sendgrid 和 php,有一些后端代码要做(这也不是想法,但它是一个不错的选择对我来说,但对于只有前端的开发人员来说不是很好的选择),关键问题仍然存在,它是公开的,所以可以窃取......但我想它就像 FB 或公共 APIS 一样,您可以限制从仅限某些主机@mousey
      • @darkylmnx 最后一个选项涉及从头开始编写您自己的代码,但您需要屏蔽电子邮件地址并可能使用加密和/或 SSL。 第三方服务选项让您可以添加额外的字段并自定义表单,您可以围绕他们的建议构建您自己的表单。 OAuth 也是 API 密钥的替代品,这是 dropbox forms/jot box 使用的
      • 嗨@darkylmnx 你有什么办法解决这个问题吗?
      猜你喜欢
      • 2011-06-06
      • 1970-01-01
      • 2015-12-10
      • 2018-03-05
      • 2014-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多