gpt4 book ai didi

java - 如何查询邮箱账号是否有效?

转载 作者:行者123 更新时间:2023-12-01 16:01:27 38 4
gpt4 key购买 nike

我已经编写了代码来检查适用于 gmail 和 yahoo mail 的电子邮件帐户但它不适用于 hotmail 和 AOL。下面是我使用过的代码。如果有任何想法请帮忙。

当我传递hotmail帐户时遇到以下异常:

javax.mail.MessagingException: Exception reading response;
nested exception is:
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

代码:

public boolean checkEmailAccountInfo(final String userMailID,
final String password, String outgoingMailServer, String portNo) {

try {
Properties p = new Properties();
// Boolean b = new Boolean(true);
p.put("mail.smtps.auth", true);
p.put("mail.smtp.user", userMailID);
p.put("mail.smtp.host", outgoingMailServer);
p.put("mail.smtp.port", portNo);
p.put("mail.smtp.starttls.enable", true);
p.put("mail.smtp.auth", "true");
p.put("mail.smtp.8BITMIME", "true");
p.put("mail.smtp.PIPELINING", "true");
p.put("mail.smtp.socketFactory.port", 465);
p.put("mail.smtp.debug", "true");

p.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
p.put("mail.smtp.socketFactory.fallback", "false");
// create some properties and get the default Session

javax.mail.Session session = javax.mail.Session.getInstance(p,
new javax.mail.Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(userMailID,
password);
}
});
session.setDebug(false);

Transport t = session.getTransport("smtp");
t.connect();
boolean isConnected = t.isConnected();
if (isConnected) {
t.close();
return true;
}
return false;
} catch (Exception e) {
return false;
}
}

最佳答案

你可以尝试一下:

p.put("mail.smtp.socketFactory.port", portNo);

这会起作用。我已经用其他邮件 ID 对其进行了测试。

关于java - 如何查询邮箱账号是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3758132/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com