从浏览器mailgun发送电子邮件

时间:2017-09-15 20:03:50

标签: javascript postman mailgun

我想使用mailgun从浏览器发送一封简单的电子邮件。我发送了一封来自postman的工作电子邮件,并通过下载代码功能设法获取了以下javascript代码:

var data = new FormData();
data.append("from", "Mailgun Sandbox <postmaster@sandbox1985406854ad9e8b8dfe094531fa41e8.mailgun.org>");
data.append("to", "Example <example@gmail.com>");
data.append("subject", "Hello from Mailgun");
data.append("text", "Congratulations Example, you just sent an email with Mailgun!  You are truly awesome!");

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api:key-75a05cfds8c66bd1y4c3e854305438e5@api.mailgun.net/v3/sandbox1985406854ad9e8b8dfe094531fa41e8.mailgun.org/messages");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.setRequestHeader("postman-token", "0a3ad9d5-22b5-6308-d6e7-59f66360fa26");

xhr.send(data);

但是当我从浏览器(firefox)执行此代码时,它什么也没做。我做错了什么?

更改网址

https://api:key-75a05cfds8c66bd1y4c3e854305438e5@api.mailgun.net/v3/sandbox1985406854ad9e8b8dfe094531fa41e8.mailgun.org/messages

https://api.mailgun.net/v3/sandbox1985406854ad9e8b8dfe094531fa41e8.mailgun.org/messages

似乎执行,api:key-xx部分无效吗?

1 个答案:

答案 0 :(得分:1)

不要这样做。这不适合使用Mailgun API。

通过将此Javascript提供给浏览器,您可以授予他们访问Mailgun API密钥的权限。此API密钥不受任何限制 - 恶意客户端可能会滥用密钥向他们想要的任何收件人发送无限数量的邮件,可能会收取大额账单和/或阻止您的帐户被垃圾邮件拦截。

在服务器端使用Mailgun API。如果您需要通过Javascript发送消息,请在您的应用程序中创建一个端点,该端点调用具有适当限制的Mailgun API。