SmtpJs API 不工作!有没有办法使用带有 JavaScript 或 JQuery 的 SMTP 服务器发送电子邮件

Posted

技术标签:

【中文标题】SmtpJs API 不工作!有没有办法使用带有 JavaScript 或 JQuery 的 SMTP 服务器发送电子邮件【英文标题】:SmtpJs API not working! is there any way to send emails using SMTP server with JavaScript or JQuery 【发布时间】:2018-04-06 18:49:48 【问题描述】:

我有一个带有 JS 、 Jquery 和 NoSQL DB 的应用程序。我没有任何后端技术,例如 Node 或 C# 。我的 Web UI 直接与数据库交互。

现在向数据库提交数据后,我想向用户发送电子邮件通知。 我在互联网上搜索,有一些文章说我们在处理 SMTP 服务器时无法使用客户端代码发送电子邮件。

休闲来自 smtpjs.com

<script src="js/smtp.js"></script>
<script>
     Email.send("vkxyz@abc.com",
                "vk@nyu.edu",
                "This is a subject",
                "this is the body",
                "smtp.qwe.io",
                "vkxyz@abc.com",
                "abcq4#");
</script>

上面的 sn-p 不起作用。尝试了其他一些互联网上可用的 sn-ps,但没有任何效果。

顺便说一下,我的 SMTP 服务器有防火墙,并且只接受来自本地网络。 上面的代码我没有得到任何连接错误日志。

那么是否可以使用 javascript Jquery 发送电子邮件,如果可以,请提出最佳做法

提前致谢

【问题讨论】:

您可能想看看EmailJS,它允许直接从 Javascript 使用预先构建的模板发送电子邮件 [披露 - 我是创建者之一] @Sasha,实际上我需要 SMTP 客户端来发送电子邮件。在我的企业中,我们需要使用 SMTP 服务器来发送电子邮件。但是当我在谷歌上搜索大多数答案时,我们不能使用带有 JS 的 SMTP 来发送电子邮件。 EmailJS 没有这个。 EmailJS.com 确实允许您连接自己的 SMTP 服务器并将其用于外发电子邮件。我建议注册并查看我们的仪表板 - 如果需要,请随时向我们的支持人员寻求帮助。 【参考方案1】:

尝试使用弹性电子邮件。它适用于 Smtp.js。我以前用过它,而且它在大多数情况下都有效。另外,请确保您使用的是两者的最新版本。

【讨论】:

【参考方案2】:

伙计们,这个答案适用于网络用户,因为我在 javascript 代码中实现了它。 我为此使用了 smtpjs。我的 js 文件中的代码是这样的 -

Email.send("sendermailid@xyz.com", <--(1) 
receivermailid@xyz.com,            <--(2)  
"subject of mail",                 <--(3)   
"This is the body",                <--(4)  
"app.smtp2go.com",                 <--(5) 
"samtradesster@gmail.com",         <--(6)  
"############");                   <--(7) 

首先,访问站点https://smtpjs.com/ 获取smtpjs 的cdn。 那么看看,

    发件人已通过电子邮件发送邮件 收件人是否已通过电子邮件发送谁将接收发件人的邮件? 是邮件的主题。 是邮件正文。与 Gmail 正文相同。 是您的 SMTP 服务器提供商,此处为 app.smtp2go.com。 是 SMTP 服务器提供商站点的帐户名。 是 SMTP 服务器提供商站点帐户中的密码,例如;我有一个 帐户名称是“samtradesster@gmail.com”,密码是什么 随机。

最后这里是 SMTP 服务器提供商的链接是 https://app.smtp2go.com

【讨论】:

【参考方案3】:

无法使用带有 JS 或 Jquery 的 SMTP 服务器发送电子邮件。

没有办法直接从我们的浏览器访问 SMTP 服务器。

EmailJS 或 SMTPJs 为我们提供 API,但最终我们使用他们的服务器来访问 SMTP。实际上,我们正在向他们的服务器发送数据,该服务器进一步向 SMTP 服务器发送数据。

所以我们必须需要一个服务器来发送到 SMTP。我们可以使用 NodeJs、C#、Python 或 Java 来做到这一点。

就我而言,我什至尝试过 EmailJs ,但我的 SMTP 服务器阻止了 EmailJs 服务器 IP 地址。

如果您使用的是企业级 SMTP 服务器,则绝对不能通过浏览器 JS 和 Jquery 发送电子邮件。 您必须在后端使用服务器并在 NodeJS 等中编写一些代码...

如果我错了,谢谢并纠正我

【讨论】:

以上是关于SmtpJs API 不工作!有没有办法使用带有 JavaScript 或 JQuery 的 SMTP 服务器发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

SMTPJS脚本似乎不起作用

有没有办法重新询问用户获取他的位置的权限,或者使用带有 javascript 的地理定位 API 删除旧设置?

带有 Google 日历的 Notion API

无法访问通过 Google 电子表格 API 通过服务帐户创建的工作表

带有 Google api 的 Android 室内方向

有没有办法使用预编译的 sql 完成工作并通过 java api (bigquery) 多次运行