【问题标题】:Verify if an email address exists or not验证电子邮件地址是否存在
【发布时间】:2012-10-30 10:54:40
【问题描述】:

我成功完成了validation of mail address,但我想要一些关于验证电子邮件地址的建议。要点是,当用户输入电子邮件 ID 时,应检查它是真实的还是假的。 有什么建议吗?

【问题讨论】:

  • 您可以使用正则表达式来设置验证规则mkyong.com/regular-expressions/…,但我猜不可能确定电子邮件 ID 是正确的
  • 你的意思是验证?顺便提一句!你试过什么?
  • 我不想验证因为我已经这样做了。我只是想检查输入的电子邮件地址是否存在。就是这样。

标签: android email email-verification


【解决方案1】:

不,此设施不可用。只有当您拥有自己的邮件服务器时,您才能验证您有权检查邮件 ID 是否有效。或者当您拥有其他服务器时,您才可以获取所有其他邮件服务器的镜像,然后您可以验证,因此,如果您只是邮件 ID 的用户,那么您可以验证邮件 ID 是否有效。

您只能通过模式检查来验证邮件ID的格式是否正确。

玩得开心

【讨论】:

  • 实际上在我的应用程序中,我只是从用户那里获取一个电子邮件地址,只是想检查它是否存在。没有别的。因为 sumtimes 用户 jss 输入了假地址,我不希望用户这样做。
  • @SnehaJain 你不能这样做,因为没有邮件服务器允许检查他们的邮件 ID 详细信息。只有当您拥有自己的邮件服务器并且已付费时,您才能拥有该部分的镜像...所以您不能。\
  • 让我解释清楚.. 你都看到要求你从不同站点登录的网站。比如从 facebook 登录,从 gmail 登录等。所以我只希望当用户输入他/她的电子邮件地址时那么它应该存在。
  • @SnehaJain 从邮件服务器的镜像中工作。它们相互连接并且完全透明。如果您想验证邮件 id 是否存在,则必须从邮件服务器(如 gmail、yahoo 等付费)获得许可
【解决方案2】:

使用regular expression只能检查是否输入了E-mail id is validate or not,不能检查id是否存在?据我所知。

看看这个link它已经得到很好的回答

【讨论】:

  • 这是绝对正确的;邮件服务器不允许您收集这些数据。 (因此,当您发送到虚假电子邮件时,您会收到 PostMaster 消息。
  • 让我解释清楚.. 你都看到要求你从不同站点登录的网站。比如从 facebook 登录,从 gmail 登录等。所以我只希望当用户输入他/她的电子邮件地址时那么它应该存在。
【解决方案3】:
public static void main(String[] args) throws Exception {
 String email = null;
 String dns = null;

 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter email address to validate: ");
email = reader.readLine();
System.out.print("Enter DNS hostname to perform domain validation (e.g. ns.myhost.com): ");
dns = reader.readLine();
// create EmailInspector instance
EmailInspector inspector = new EmailInspector();

// enable debugging
inspector.setDebug(true);

// set DNS server
inspector.setNameserver(dns);

// set validation level
inspector.setEmailInspectionLevel(inspector.DOMAIN_VALIDATION);

// validate email
inspector.validate(email);
}

}






 .  Create new EmailInspector instance.
    .  Enable debugging.
    .  Set DNS server to be used for looking up domains.
    .  Set validation level.
    .  Validate email address.

【讨论】:

    【解决方案4】:
    Properties props = System.getProperties();
    
        props.put("mail.smtp.user", senderEmail);
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.port", "465");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.debug", "true");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class", 
              "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.socketFactory.fallback", "false");
    
        // Required to avoid security exception.
        email.MyAuthenticator authentication = 
              new email.MyAuthenticator(senderEmail,senderMailPassword);
        Session session = 
              Session.getDefaultInstance(props,authentication);
        session.setDebug(true);
    

    【讨论】:

      猜你喜欢
      • 2011-03-04
      • 2011-02-14
      • 1970-01-01
      • 2019-05-29
      • 2011-08-30
      • 2011-08-22
      • 2021-07-03
      • 2014-06-12
      相关资源
      最近更新 更多