首页 > 解决方案 > 如何从外部 API 获取输入并通过电子邮件发送

问题描述

在课堂上,我们遇到了制作被视为“恶意”或不可信的网站的挑战。我们在单位的安全部门

我正在制作一个网站,当一个人进入它时,一个外部 API ( http://www.geoplugin.net/javascript.gp ) 会捕获州、城市、邮政编码等基本信息。我想发送收到的数据当一个人通过电子邮件地址进入网站时。但是,我不知道如何做到这一点。

我查找了 youtube 视频,但没有发现任何可以让我接近这个主题的地方

以下是 API 中的一些占位符。例如,我想从 geoplugin_city() 获取结果并将其发送到电子邮件中。

<script language="Javascript"> 
    document.getElementById("demo").innerHTML = geoplugin_city();
    console.log("Welcome to our visitors from "+geoplugin_city()+", "+geoplugin_countryName());
    console.log("Testing"+geoplugin_region());```

标签: javascripthtmlemail

解决方案


您想要的是将数据传递到您的服务器,然后使用电子邮件客户端库(例如GmailSendGrid)发送到您想要的位置。

您真的不想在您的客户端上执行此操作,因为为了发送任何电子邮件,您需要进行身份验证......除非有一个 API 可以将消息通过电子邮件发送到没有特定用户帐户的电子邮件。但是您将需要一个 API 密钥,您不希望将其硬编码到您的客户端代码中。

所以:

  1. 通过客户端 javascript 脚本收集您的数据。
  2. 将您的数据发送到您的服务器。
  3. 在您的服务器上使用客户端库(经过身份验证,至少使用 API 密钥,但取决于您选择的电子邮件提供商)将您的数据发送到您指定的电子邮件。

需要考虑的是批量转储数据。您可以登录到一个文件并定期读取该文件并将其转储到电子邮件中,而不是在用户每次访问您的站点时发送。这可能会很快消耗您的 API 配额(通常有配额,尤其是对于免费帐户)。这段时间将是您需要评估自己的时间。

如果您的初始上限被击中或被关闭,您还可以与该提供商设置多封电子邮件。这似乎很明显,但你会想在这里使用一次性电子邮件。


推荐阅读