试图通过IMAP连接连接到gmail,捕获javax.mail.MessagingException
public static StringBuffer getEmailByBody(String username, String password, String containsMsg) throws Exception {
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imaps");
props.setProperty("mail.imap.ssl.enable", "true");
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("imaps");
try {
store.connect("imap.gmail.com", username , password);
} catch (Exception ex) {
ex.printStackTrace();
throw new Exception("Fail in connection" + ex.getMessage());
}
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
Message[] messages = null;
boolean isMailFound = false;
Message confirmationMAil = null;
// Search for mail MAX 10 runs
for (int i = 0; i < 10; i++) {
messages = folder.search(new BodyTerm(containsMsg), folder.getMessages());
for(Message message : messages){
if (!message.isSet(Flags.Flag.SEEN)) {
confirmationMAil = message;
isMailFound = true;
break;
}
}
// wait for 3 seconds if message is not found
if (!isMailFound) {
Thread.sleep(3000);
}
}
// Search latests for unread mail
for(Message message : messages){
if (!message.isSet(Flags.Flag.SEEN)) {
confirmationMAil = message;
isMailFound = true;
break;
}
}
// Test fails if no unread mail was found from God
if (!isMailFound) {
throw new Exception("Could not find email");
// Read the content of mail and launch registration URL
} else {
String line;
StringBuffer buffer = new StringBuffer();
BufferedReader reader = new BufferedReader(new InputStreamReader(
confirmationMAil.getInputStream()));
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
return buffer;
}
}
堆栈跟踪:
主:
public static void main(String[] args) throws Exception {
MailManager.getEmailByBody("asd@gmail.com", "password", "Hello");
}
尝试添加这行代码prop.put(“mail.imap.ssl.trust”,“*”);
我使用的是David Walsh的脚本,它通过IMAP连接到Gmail,并在屏幕上输出电子邮件数据。 我已经运行了两个测试案例: 使用 IMAP 从我自己的域读取电子邮件。 使用 IMAP 从 gmail 读取电子邮件。 读120封邮件的时间差别很大。对于Gmail,整个脚本需要大约5秒,其中1.2秒连接,3.8秒阅读邮件,0.1629秒连接,0.0238秒阅读邮件。 这些价值观与我的预期大相径庭
我有这个代码可以通过IMAP连接到Gmail 我总是会遇到这个例外,指向商店。connect() 我已经检查了谷歌的所有信息,如果我是对的,IMAP的端口是993。用户名和密码绝对正确。我想我错过了一些东西,但我无法弄清楚。 任何帮助都将不胜感激! 编辑 添加邮件后。debug,我得到了这些日志,但我仍然停留在商店里。connect() 它已登录,但仍卡在connect上。。
我得到一个错误:- 不能 请帮助我。 并指导我做什么,因为我需要在我的 Web 项目中使用它。
我正在使用SpringMVC和Hibernate构建一个应用程序。我还没有将Hibernate和Spring集成在一起(对两者都是新的),并且希望确保可以首先通过Hibernate打开会话。 我创建了一个简单的函数来测试,当前收到以下错误: 线程“main”java.lang.nosuchmethoderror中出现异常:org.hibernate.integrator.internal.inte
我正在尝试连接到远程主机以发出命令,但在运行代码时收到以下错误消息: SSH:握手失败:SSH:密钥交换没有通用算法;提供的客户端:[curve25519-sha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 difffie-hellman-group14-sha1],提供的服务器:[difffie-h
'535-5.7.8不接受用户名和密码。有关详细信息,请访问535 5.7.8https://support.google.com/mail/?p=BadCredentialsx66sm1596680lff。64-gsmtp“请问我能做什么?”。我正在尝试将电子邮件信息集成到我的应用程序中,即使在通过Gmail API激活并检索到client\u id和client\u secret之后,仍然没有