从文本中解析电子邮件

时间:2014-03-25 17:53:41

标签: java parsing email

我有一个输入字段,网站管理员将复制有权访问该网站的允许用户/域列表。

列表必须支持以下格式:user@domain.com, @ domain.com, @ *。

这个想法是这种白名单字符串可以支持5000封电子邮件,必须是支持的格式,所以我需要逐一检查才能将其保存到数据库。

我无法使用Threads,因为我需要在保存之前从BackEnd获得答案。

我已经有了这样的正则表达式,我担心的是这样做的更好方法(考虑性能)。

目前我有一个StringTokenizer并逐个比较带有正则表达式的电子邮件,但此时我只支持1000个字符。

我在想是否需要支持最多可达640000个字符的5000个电子邮件地址。

这是我目前拥有的Java代码段:

public boolean isValidWhitelist(String value){

    boolean isValid = true;

    // Split the white list.
    StringTokenizer st = new StringTokenizer(value, ",");

    // Verify each whitelisted email.
    while (st.hasMoreTokens()) {

        String valueEmail = st.nextToken().trim();

        if (!valueEmail.equals("*@*")) {

            if (!validateWhitelist(valueEmail)) {

                isValid = false;
                break;
            }
        }
    }

    return isValid;
}

然后硬币的另一面将是用户登录时。我需要验证是否针对5000封电子邮件中的一封列入白名单。

有没有“正确”的方法来做到这一点

0 个答案:

没有答案