我想使用JavaMail和IMAP从Java应用程序访问GMail中的消息.为什么我得到SocketTimeoutException?
这是我的代码:
Properties props = System.getProperties();
props.setProperty("mail.imap.host", "imap.gmail.com");
props.setProperty("mail.imap.port", "993");
props.setProperty("mail.imap.connectiontimeout", "5000");
props.setProperty("mail.imap.timeout", "5000");
try {
Session session = Session.getDefaultInstance(props, new MyAuthenticator());
URLName urlName = new URLName("imap://MYUSERNAME@gmail.com:MYPASSWORD@imap.gmail.com");
Store store = session.getStore(urlName);
if (!store.isConnected()) {
store.connect();
}
} catch (NoSuchProviderException e) {
e.printStackTrace();
System.exit(1);
} catch (MessagingException e) {
e.printStackTrace();
System.exit(2);
}
Run Code Online (Sandbox Code Playgroud)
我设置了超时值,以便不会"永远"超时.此外,MyAuthenticator还具有用户名和密码,这似乎是URL的冗余.还有其他方法来指定协议吗?(我没有在IMD的JavaDoc中看到它.)
我试图通过我的localhost访问我的Gmail帐户.但是,我收到了回复:
致命错误:调用未定义的函数imap_open()
有人可以指出我应该怎么做才能解决这个问题?
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'myid@gmail.com';
$password = 'mypassword';
/* try to connect */
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' .imap_last_error());
Run Code Online (Sandbox Code Playgroud) 我想通过Mac OS X终端向服务器发送IMAP命令并获得响应.我可以使用以下行连接到服务器:
openssl s_client -connect imap.gmail.com:993
Run Code Online (Sandbox Code Playgroud)
我可以成功登录:
? LOGIN m.client2 passwordhere
Run Code Online (Sandbox Code Playgroud)
但是所有其他命令都不起作用,没有来自服务器的响应.我试过这个:
? LIST "" "*"
? SELECT INBOX
Run Code Online (Sandbox Code Playgroud) 我正在使用JavaMail API连接到我的个人帐户.我在我创建的Gmail帐户中有文件夹(标签)列表+收件箱,草稿等默认文件夹.如何列出所有可用文件夹(默认和用户创建的文件夹)?
我可以使用此API访问特定文件夹:Folder inbox = store.getFolder("Inbox");.是否有其他API可以获取邮件帐户中可用的文件夹列表?
我正在使用IMAP协议从服务器接收电子邮件,就像这里描述的那样.这工作得非常好,我可以将电子邮件和附件存储在磁盘上.
问题:当客户端尝试接收所有电子邮件时,我是否有可能从服务器中删除文件,以便它们不再可用?如果是这样,请告诉我如何.
有没有人有任何示例代码使用通过IMAP SSL连接到googlemail服务器的.Net框架来检查新电子邮件?
我最喜欢的Gmail功能之一就是可以将网址添加到某些邮件,例如:
https://mail.google.com/mail/#all/124c8f386d41fd3a
我想做的是编写一个脚本,通过IMAP访问我的Gmail帐户,并创建一个HTML页面,其中包含上述链接,我感兴趣的每条消息.
但是,似乎无法从IMAP信封或UUID属性中找到"124c8f386d41fd3a"ID.我发现的所有message-id和uuids都有不同的格式,不能用于生成有关我收件箱的有效链接.
有人知道如何在IMAP中找到这些url-ID吗?
- FelixGeisendörfer又名the_undefined
PS:我使用的是Ruby,之前的尝试包括:
imap.fetch(message_id, "UID")
imap.fetch(message_id, "ENVELOPE")
imap.fetch(message_id, ...)
Run Code Online (Sandbox Code Playgroud)
我在ruby imap docs中尝试了为FetchData列出的所有属性
我正在尝试阅读Gmail中的电子邮件.我已经尝试了我能找到的每个API /开源项目,并且不能让它们中的任何一个工作.
有没有人有一个工作代码示例,可以让我从Gmail帐户验证和下载电子邮件?
最终工作版本发布如下:https://stackoverflow.com/a/19570553/550198
我希望能够使用Python将GMail中的电子邮件从收件箱移动到另一个文件夹.我使用imaplib,无法弄清楚如何做到这一点.