【问题标题】:Using other library in chrome extension在 chrome 扩展中使用其他库
【发布时间】:2021-09-20 05:30:18
【问题描述】:

我正在尝试为我的 chrome 扩展程序创建电子邮件通知,并正在使用 https://smtpjs.com/ 将我的电子邮件发送给用户。对于网站来说这真的很简单,但是 chrome 不允许添加其他脚本。我尝试将其制作为自己的文件并将其包含在清单中,一些内容安全性的东西要添加到我从堆栈溢出中发现的清单中,但这一切都导致了错误。现在,我的弹出 js 中有 smtp 的脚本,但电子邮件仍然没有发送。救命!

电子邮件部分的代码:

 var Email = { send: function (a) { return new Promise(function (n, e) { a.nocache = Math.floor(1e6 * Math.random() + 1), a.Action = "Send"; var t = JSON.stringify(a); Email.ajaxPost("https://smtpjs.com/v3/smtpjs.aspx?", t, function (e) { n(e) }) }) }, ajaxPost: function (e, n, t) { var a = Email.createCORSRequest("POST", e); a.setRequestHeader("Content-type", "application/x-www-form-urlencoded"), a.onload = function () { var e = a.responseText; null != t && t(e) }, a.send(n) }, ajax: function (e, n) { var t = Email.createCORSRequest("GET", e); t.onload = function () { var e = t.responseText; null != n && n(e) }, t.send() }, createCORSRequest: function (e, n) { var t = new XMLHttpRequest; return "withCredentials" in t ? t.open(e, n, !0) : "undefined" != typeof XDomainRequest ? (t = new XDomainRequest).open(e, n) : t = null, t } };

Email.send({
    SecureToken : "token",

  To : "emailimsendingto@gmail.com",
  From : "myemail@gmail.com",
  Subject : "testttt",
  Body : "testtttttttt"
}).then(
  console.log("sent")
); 

我在控制台中收到“已发送”消息,但没有电子邮件。一个问题可能是我收到的一封电子邮件,内容是 gmail 阻止了一个外部站点,即 smtp。我以为我通过说是我来解决它,但是我想。我不知道如何检查

【问题讨论】:

  • 警告!这样你的令牌不会很安全
  • 听起来此服务将安全令牌锁定到某个域 - 而不是扩展名
  • 这是唯一比输入我的实际密码和用户名更安全的方法。对于你的第二条评论,你能解释更多吗?不太确定我是否理解
  • JS 库可以被扩展使用,Chrome 不允许这样做。您可能在您的代码/html 中犯了一个意外错误。请注意,弹出窗口是一个单独的窗口,因此它有自己独立的开发工具:在弹出窗口内右键单击并在菜单中选择“检查”。
  • @Huddy 我相信服务会将其锁定到某个来源,而 chrome 扩展没有来源。

标签: javascript google-chrome email google-chrome-extension smtp


【解决方案1】:

我解决了我的问题,意识到我需要一个 smtp 服务器。使用弹性电子邮件进行设置。邮件进入垃圾邮件文件夹,但它可以工作:D

【讨论】:

    猜你喜欢
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-03
    • 2018-11-15
    • 2019-10-19
    • 1970-01-01
    相关资源
    最近更新 更多