【问题标题】:How to fix: "Mailbox name not allowed. The server response was: Envelope FROM 'example@example.com' email address not allowed."如何解决:\“邮箱名称不允许。服务器响应是:Envelope FROM \'example@example.com\'电子邮件地址不允许。\”
【发布时间】:2022-08-23 06:43:07
【问题描述】:

我正在尝试使用 SMTP JS 在我的网站上制作联系表格。但是,当我将信息提交到表单中时,它无法输出错误消息:\“SMTP JS 联系表单说\”不允许使用邮箱名称。服务器响应是:Envelope FROM \'example@example.com\' email address not allowed.\"

这是我的代码: HTML:

  <form onsubmit=\"send(); reset(); return false;\">
            <input placeholder=\"First Name\" required id=\"first-name\"><br>
            <input placeholder=\"Last Name\" required id=\"last-name\"><br>
            <input placeholder=\"Email Adress\" required id=\"email\"><br>
            <button>Submit</button>
        </form>

SMTP JS

<script src=\"https://smtpjs.com/v3/smtp.js\"></script>
<script>
var send = function() {
    Email.send({
    Host : \"smtp.elasticemail.com\",
    Username : \"example@example.com\",
    Password : \"My Password\",
    To : \'example@example.com\',
    From : document.getElementById(\"email\").value,
    Subject : \"New Signup!!!\",
    Body : \"And this is the body\"
}).then(
  message => alert(message)
);
};
    </script>

我尝试将网站移动到 https 服务器以及本地主机。我怎样才能解决这个问题?

  • 您必须使用实际的电子邮件帐户来发送电子邮件。您应该将电子邮件发送到后端。 PHPMailer 设置起来非常简单。
  • @ChrisG — smtp.js 是第三方后端,并且(尽管对问题进行了混淆)看起来正在提供实际电子邮件帐户的凭据。
  • 错误消息不是只是说从document.getElementById(\"email\").value 读取的电子邮件地址不允许从您提供凭据的帐户发送电子邮件吗? (我的 SMTP 还不够好,不足以让我有足够的信心将其作为答案)。
  • 当我从联系表格发送电子邮件时,通常必须是发件人地址。这样做是为了防止人们伪造发件人。但是,您可以将任意电子邮件设置为回复,这是我将他们输入的发件人电子邮件放入表单的位置。也就是说,你需要From: \"example@example.com\",你可以试试加ReplyTo: document.getElementById(\"email\").value,
  • @Chris G我尝试添加ReplyTo:document.getElementById(\"email\").value,但我仍然得到同样的错误我还能尝试什么?

标签: javascript html forms email smtp


【解决方案1】:

我在使用时也遇到了同样的问题。我意识到如果 from 的值与 username 的值不同,它就会给出那个错误。所以我意识到或者更确切地说是推测,因为它实际上并不是从用户电子邮件发送的,这似乎是合理的,所以如果你需要获取用户电子邮件,只需将其与正文一起发送

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

我也在测试 SMTP JS,并意识到发件人地址必须是真实的电子邮件。 elasticemail 的作用是退回邮件。 因此,如果您尝试使用现有邮件进行此操作就可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-27
    • 2018-10-28
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    相关资源
    最近更新 更多