我在一家公司实习,公司里的每个人都使用 Outlook 邮件。我想不出一种从收件箱中阅读电子邮件的方法。
让我谈谈我的项目。我正在为邮件使用 JavaMail API。
我的第一个任务 - 使用我已成功完成的提醒系统从 java 程序发送邮件,使用主机、协议、用户名和无密码。无需输入密码,因为如果我尝试输入密码,它就会停止工作。它只有在没有密码的情况下才能工作。
所以基本上,我可以使用公司中的其他员工使用电子邮件地址作为“发件人”发送电子邮件,因为不需要输入密码,只能从 java 程序中输入。
我的第二个任务 - 阅读邮件主题和发件人详细信息并执行一些任务...
没有密码可以进入,但是
Store store = session.getStore("smtp");
//I tried with imap, pop3, but everything gives error "No Such Provided"
store.connect("email@domain.co.uk", "PASSWORD");
store.connect() 不允许我使用没有密码的方法。
该软件将使用一个新的电子邮件地址,该地址与用户 Outlook 中的地址不同,但为了进行测试,我首先使用我的电子邮件地址,因为该软件将被不同的用户/计算机使用。
如果我尝试这种方式
session.getStore("imaps");
store.connect("host","username","password");
Error:
DEBUG: getProvider() returning
javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc]
DEBUG: mail.imap.fetchsize: 16384
DEBUG: mail.imap.statuscachetimeout: 1000
DEBUG: mail.imap.appendbuffersize: -1
DEBUG: mail.imap.minidletime: 10
DEBUG: trying to connect to host "host", port 993, isSSL true
javax.mail.MessagingException: Connection refused: connect;
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:618)
at javax.mail.Service.connect(Service.java:291)
at javax.mail.Service.connect(Service.java:172)
at TestMail.InboxReader.main(InboxReader.java:52)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:570)
at
com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:284)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:227)
at com.sun.mail.iap.Protocol.<init>(Protocol.java:109)
at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:104)
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:585)
... 3 more
Java Result: 2