我作为实习生在一家公司工作,公司的每个人都使用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()不允许我使用没有密码的方法。
该软件将使用新的电子邮件地址,该地址与用户展望的地址不同,但用于测试我首先使用的是我的电子邮件地址,因为该软件将由不同的用户/计算机使用。
如果我这样试试
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
答案 0 :(得分:1)
使用Exchange Web服务(EWS)API与Exchange Server无缝集成。从MS网站引用
EWS提供对通过Microsoft Office Outlook提供的大部分相同数据的访问。
EWS基础知识 - http://msdn.microsoft.com/en-us/library/exchange/dd877045(v=exchg.140).aspx EWS Java API - http://archive.msdn.microsoft.com/ewsjavaapi
答案 1 :(得分:0)
需要更多详情...
查看JavaMail FAQ并在失败时发布debug output。此外,您使用的确切代码可能会有所帮助。
您可以使用JavaMail附带的代码对所有代码进行测试,以便确定问题是否在您的代码或其他内容中。请参阅JavaMail下载包中包含的msgshow.java演示程序。