【问题标题】:how to send email from a website hosted on s3如何从托管在 s3 上的网站发送电子邮件
【发布时间】:2020-01-23 05:46:53
【问题描述】:

我在亚马逊网络服务的 S3 上托管了一个网站。如果他们希望与我联系,我想在我的 gmail 帐户上接收来自我网站访问者的电子邮件。当我尝试在亚马逊网络服务上使用 SES 时,我对设置步骤感到困惑,但我相信我完全偏离了轨道。

谢谢。

【问题讨论】:

  • 我有一个用 PHP 编写的电子邮件表单。我添加了我的地址,但它不起作用,所以想重新开始这个问题。

标签: email amazon-web-services amazon-s3


【解决方案1】:

S3 不支持任何服务器端代码,例如 PHP - 因此您不能使用服务器端逻辑来发送电子邮件。

有两种选择:

  1. 实现一个 mailto: 链接,该链接将导致用户在单击它时打开他们的邮件客户端。
  2. 使用支持 REST API 的第三方邮件服务,并在 Javascript 中实现。您可以使用SESSendgridMailgun 之类的内容。

这些服务中的每一个都可以使用 Javascript 调用。实现您的邮件表单页面以对这些服务进行 API 调用,从而将评论发送到您的收件箱。

【讨论】:

  • 更好的是,编写一个您的 html 表单可以 POST 到的 Lambda 函数。
【解决方案2】:

您可以将 AWS Lambda 与 Amazon API Gateway 结合使用来创建无服务器后端,并使用 Amazon Simple Email Service 发送电子邮件。下面是一个很好的教程:

Create Dynamic Contact Forms for S3 Static Websites Using AWS Lambda, Amazon API Gateway, and Amazon SES

【讨论】:

    【解决方案3】:

    迟到了,但正如其他人所说,您可以在 API 网关上设置 AWS Lambda 函数,以使用 AWS SES 发送电子邮件。您将 html 表单发布到它(或您在您控制的实际服务器上创建的一些其他服务)并通过一些 Gmail SDK/API 发送电子邮件。网上有很多教程。

    您还可以使用Formspree 等免费的第三方服务创建一个 html 表单,将其发布到他们的服务器,然后他们会向您发送一封电子邮件到您指定的任何地方。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-19
      • 1970-01-01
      • 1970-01-01
      • 2011-12-22
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      相关资源
      最近更新 更多