【问题标题】:How to send email using Javascript in a simplest way?如何以最简单的方式使用 Javascript 发送电子邮件?
【发布时间】:2017-09-28 18:57:15
【问题描述】:

我正在完成我的 XML 和 JavaScript 课程的期末项目,但在通过 JavaScript 发送电子邮件时遇到了问题。 我找到了这个页面:http://smtpjs.com/。但它需要 SMTP 凭据,我不知道 SMTP 凭据是什么。 谁使用过 smtpjs.com 或者谁有解决方案,请帮助我。 P/s:我是否需要将我的代码上传到主机以发送电子邮件。我总是从我的电脑打开 html 文件,我想知道它是否能够发送电子邮件。

【问题讨论】:

  • JavaScript 不能单独发送电子邮件,它需要一个电子邮件 SMTP 服务器来发送请求。
  • SMTP 简单地说就是“您用来登录电子邮件帐户的工具”。
  • 也许我没有正确理解您的问题,但我认为它应该可以解决您的问题stackoverflow.com/questions/13231125/…
  • 正如上面所说,您需要以某种方式连接到 SMTP 服务器才能从 javascript 发送电子邮件。但是,如果您要从 Web 浏览器使用此脚本,则会出现问题。如果页面的用户知道自己在做什么,那么您到该 SMTP 服务器的登录凭据将对他们可见。所以它不安全。一种更安全的方法是设置脚本以在服务器上使用 php/python 等发送电子邮件,并通过异步调用触发该功能。干杯。
  • 电子邮件不只是“神奇地”从 A 点传送到 B 点。这涉及到一个服务器或“程序”。任何体面的邮件服务器都需要您登录。想想 Gmail、Hotmail 等。这本质上就是 SMTP。您向邮件服务器提供您的凭据(登录详细信息),以便它知道谁在发送电子邮件。

标签: javascript html email smtp


【解决方案1】:

首先,我认为您不应该从 html 文件运行代码。您从服务器运行它以与 smtp.js 正确通信

你可以试试这个:

$('#form-submit').click(function () {
  submitForm();
 });

function submitForm() {
// Initiate Variables With Form Content
var name = $("#name").val();
var email = $("#email").val();
var message = $("#message").val();
if (name == "") {
    alert('Invalid Name');
    return;
}
if (message == "") {
    alert('Message cannot be empty');
    return;
}
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if (!emailReg.test(email)) {
    alert('Invalid Email');
    return;
}

Email.send("from@email.com",
    "to@email.com",
    "Message from " + name + " " + email,
    message,

    {
        token: "63cb3a19-2684-44fa-b76f-debf422d8b00",
        callback: function done(message) { alert("sent") }

    });

   }

我还使用了 smtpjs 和 sendgrid。 我希望这会有所帮助。

【讨论】:

    【解决方案2】:

    如果您想在 javascriptsend 一个电子邮件,您应该在 Gmail 中开启 allow secure app access

    如果您不开启允许 Gmail 中安全性较低的应用,Google 将不会让您发送电子邮件。

    这里是链接: Turn On Allow Secure App Access

    请注意,如果您在 google 中开启该功能,attackers 很容易找到有关您的 Gmail 帐户的信息。

    建议只创建一个用于开发的帐户。

    【讨论】:

      【解决方案3】:

      SMTP 是处理邮件的服务器。这是谷歌的:'smtp.gmail.com'。 您可以直接从 javascript 发送电子邮件。我建议你使用 JSON。

      【讨论】:

      • 如果我使用smtp.gmail.com,用户名是我的google邮箱,密码是我的gmail密码,对吧?
      • @NguyenHoa 是的。但是请不要.. 我再说一遍:不要!!!! 将您的 Gmail 登录凭据放在 Javascript 中。任何人都可以阅读它!任何人都可以看到您的密码!
      • 只需为此创建一个帐户,除非您的项目用于生产。
      猜你喜欢
      • 2014-09-11
      • 2017-11-16
      • 2013-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多