如何在JavaScript中验证电子邮件地址?
多年来,我慢慢开发了一个正则表达式,可以正确验证MOST电子邮件地址,假设他们不使用IP地址作为服务器部分.
我在几个PHP程序中使用它,它大部分时间都可以工作.但是,我不时会遇到使用它的网站遇到问题的人,我最终不得不进行一些调整(最近我意识到我不允许使用4字符TLD).
验证电子邮件的最佳正则表达式是什么?
我已经看到了几个使用函数的解决方案,这些函数使用了几个较短的表达式,但我宁愿在一个简单的函数中使用一个长复杂表达式,而不是在一个更复杂的函数中使用几个短表达式.
我发现这个PHP代码使用SMTP检查电子邮件地址而不发送电子邮件.
有没有人尝试过类似的东西或者它对你有用吗?您能否判断一位电子邮件客户/用户是否输入正确且存在?
我使用com.sun.mail.smtp.SMTPTransport通过Java发送电子邮件.
我成功发送了电子邮件,但如果我将邮件发送到无效的电子邮件地址,则SMTPTransport不会出现任何错误.
有没有办法检查给定的邮件地址是否存在?
我不是要将邮件地址检查为客户端,我需要检查为服务器端.
我在很多论坛上发现了很多这样的问题,但我没有得到任何合适的解决方案.
我的代码是 -
String email = "reciever@theirDomain.com";
Properties props = new Properties();
props.put("mail.smtps.host", "mail.myDomain.com");
props.put("mail.smtps.auth", "true");
Session session = Session.getInstance(props, null);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("Mail Demo <my_email@myDomain.com>"));
msg.setRecipients(Message.RecipientType.TO, email);
msg.setSubject("Mail Example");
msg.setSentDate(new Date(System.currentTimeMillis()));
String txt = "Message Body";
msg.setText(txt);
SMTPTransport st = (SMTPTransport)session.getTransport("smtps");
st.connect("mail.myDomain.com","my_email@myDomain.com","password");
st.sendMessage(msg, msg.getAllRecipients());
System.out.println("ServerResponse : " + st.getLastServerResponse());
Run Code Online (Sandbox Code Playgroud)
它为有效和无效的email_address提供输出: - 250 OK id = 1TbWgN-0007oY-8r
请帮我解决这个问题.提前致谢.
email ×4
regex ×2
smtp ×2
validation ×2
java ×1
javascript ×1
mime-message ×1
php ×1
telnet ×1