【发布时间】: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