【发布时间】:2017-03-18 08:10:35
【问题描述】:
我一直在尝试来自多个资源的很多东西,比如Read Inbox Java2s 和How to get the list of available folders in a mail account using JavaMail
我正在成功发送电子邮件,但为了确保邮件发送成功,我需要从已发送邮件文件夹中读取电子邮件 这可以通过 smtp 实现吗?如果是,怎么做?
目前,我什至在与 stroe 的联系中都被困住了。我找不到通过这些步骤的方法
Store store = session.getStore(); 和 store.connect();
我不知道imap 或pop3。它们甚至可能没有在我们的服务器上进行配置,但如果 smtp 不支持,那么我已经准备好使用这些协议进行处理,尽管我正在使用 stmp 发送邮件。我在下面的代码中尝试了很多编辑,但没有任何帮助
String host = "mysite.smtp.com";
Properties props = new Properties();
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", "myport");
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
String user = "myname";
String password = "mypassword";
return new PasswordAuthentication(user, password);
}
});
Store store = session.getStore(); // had tried writing "imaps" here
store.connect(host, null, null);
//store.connect(); also tried this
Folder inbox = store.getFolder("INBOX"); //actually i need "SENT"
if (inbox == null) {
System.out.println("No INBOX");
System.exit(1);
}
inbox.open(Folder.READ_ONLY);
Message[] messages = inbox.getMessages();
for (int i = 0; i < messages.length; i++) {
System.out.println("Message " + (i + 1));
messages[i].writeTo(System.out);
}
inbox.close(false);
store.close();
【问题讨论】:
-
参考这个link保存使用JAVA MAIL API发送的邮件
标签: java email smtp jakarta-mail pop3