返回

SMTP.js 发送电子邮件时 \

javascript

SMTP.js 电子邮件发送时“电子邮件地址格式不正确”错误的解决之道

在使用 SMTP.js 发送电子邮件时,您可能会遇到一个常见的错误:"The specified string is not in the form required for an e-mail address"。此错误表示您提供的 To 属性中的电子邮件地址格式不正确。

电子邮件地址格式要求

电子邮件地址必须遵循特定的格式:

  • 本地部分: 本地部分不能包含<, >, ,, ;, :, \。它也不能以句点 (.) 开头或结尾。
  • “@”符号: “@”符号必须将本地部分与域名分开。
  • 域名: 域名必须是一个有效的 Internet 域名,例如:"example.com" 或 "example.net"。

解决错误的步骤

要解决此错误,请确保 To 属性的值符合上述要求:

  1. 验证本地部分: 本地部分不能包含任何特殊字符或以句点 (.) 开头或结尾。
  2. 检查“@”符号: “@”符号必须出现在本地部分和域名之间。
  3. 确认域名: 域名必须是一个有效的 Internet 域名,例如:"example.com" 或 "example.net"。

示例电子邮件地址

以下是一些有效的电子邮件地址示例:

更新代码

根据这些要求,您的代码可以更新为:

function sendEmail() {
    var elmail = document.getElementById('Email-Register-name').value;
    var elmailw = document.getElementById('Email-Register-domain').value;
    console.log(elmail+"@"+elmailw)
    Email.send({
        Host : "smtp.elasticemail.com",
        Username : "my mail",
        Password : "pw",
        To : elmail+"@"+elmailw, // 确保 elmail 和 elmailw 组合成一个有效的电子邮件地址
        From : "my domain",
        Subject : "Verification Email from tab the_dev",
        Body : "<html><h2>Header</h2><strong>Bold text</strong><br></br><em>Italic</em></html>"
}).then(
        message => alert(message)
    )
};

通过确保 To 属性的值是有效的电子邮件地址,您可以解决 "The specified string is not in the form required for an e-mail address" 错误。

常见问题解答

  • 为什么会出现此错误?

    • 此错误表示您提供的电子邮件地址格式不正确。
  • 如何修复此错误?

    • 确保电子邮件地址遵循正确的格式(有效的本地部分、“@”符号和域名)。
  • 什么是有效的电子邮件地址示例?

  • 我的代码如何确保电子邮件地址有效?

    • 在代码中,使用连接符号(+)将 elmailelmailw 变量连接起来,形成一个完整的电子邮件地址。
  • 我更新了代码,但仍然收到错误。怎么办?

    • 检查 elmailelmailw 变量的值是否正确且符合电子邮件地址格式。如果您仍然收到错误,请尝试使用其他 SMTP 库或直接联系 SMTP 提供商寻求支持。