【问题标题】:Send an email from Chrome extension with Mailgun使用 Mailgun 从 Chrome 扩展程序发送电子邮件
【发布时间】:2016-07-15 09:43:21
【问题描述】:

我有一个小型 Chrome 扩展程序,仅供自己使用。目前它使用 Mandrill,但 Mandrill 将在大约一个月后停止免费提供,我正在寻找其他方式从扩展发送电子邮件。

我需要的是非常简单的纯 Javascript-jQuery。我不介意在代码中公开 API 密钥,因为扩展仅供我自己使用。我一直在查看 Mailgun 或 SparkPost 等网站的文档,但我找不到一个简单且纯 JavaScript 的示例。例如,这是我为 Mailgun 尝试的代码;即使我正在使用我的沙盒 URL 并且它处于活动状态,它也会引发 404:

$.ajax({
    type: "POST",
    url: "MY SANDBOX URL",
    data: {
      'user':'api',
      'key': 'MY KEY',
      'from': 'SENDER EMAIL ADDRESS',
      'to': 'RECIPIENT EMAIL ADDRESS',
      'subject': 'Subject',
      'text': 'Body'
      }
    }).done(function(response) {
        console.log("Email sent");
 });

拜托,你能帮帮我吗?谢谢!

【问题讨论】:

  • 尝试SendGrid 具有 REST API 来发送电子邮件。此外,如果这是供个人使用,您还可以使用 Gmail API 发送电子邮件。
  • 谢谢,SendGrid 可以满足我的需求。我回家后会尝试使用它并告诉你。
  • 嘿@phr,不幸的是,SparkPost 不允许来自浏览器的 REST 请求。听起来您在这里有很好的用途(仅由您使用的扩展),但是我见过的大多数想要这样做的人都不了解暴露其 API 密钥的风险。祝你好运!
  • 谢谢!这些天我一直很忙,还不能尝试 SendGrid,但我会的!

标签: javascript jquery mandrill mailgun sparkpost


【解决方案1】:

抱歉耽搁了,我真的很忙,并认为这需要花费数小时的努力,所以直到有时间我才尝试。事实上,所有过程只用了不到 30 分钟,因为 SendGrid 有一个很好的文档并且非常易于使用,至少对于我需要的东西来说是这样。感谢 Adnan Umer 向我介绍这个工具。

这是我所做的:

1) 创建一个免费帐户。每月最多允许 12k 封电子邮件,对我来说绰绰有余。

2) 等到帐户配置完毕。就我而言,这是即时的,但有时可能会延迟,据称长达几个小时。

3) 在此处生成一个通用 API 密钥:https://app.sendgrid.com/settings/api_keys,具有“邮件发送”的完全访问权限。

4) 发送一封电子邮件,添加“授权”标头,并将密钥作为该标头中的“承载”令牌。

在我的情况下,这工作正常:

$.ajax({
    type: "POST",
    url: "https://api.sendgrid.com/api/mail.send.json",
    headers: {
        'Authorization': 'Bearer ' + SENDGRID_API_KEY
    },
    data: {
        'to': EMAIL_ADDRESS_TO,
        'from': EMAIL_ADDRESS_FROM,
        'subject': 'Email subject',
        'html': 'Email body',
    }
}).done(function(response) {
    console.log("Email sent");
});

谢谢大家!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-18
    • 2016-08-14
    • 1970-01-01
    • 2017-10-12
    • 2011-01-05
    • 2021-03-30
    • 1970-01-01
    • 2016-01-24
    相关资源
    最近更新 更多