我们可以使用Java Mail API将Gmail的消息附加到Yahoo

时间:2013-10-01 14:11:09

标签: java javamail imap

我们希望使用Java Mail-1.5编写程序,该程序可以将Gmail的消息附加到Yahoo帐户。 Java Mail API可以实现吗?我们正在尝试的是我们已经在我们的系统下载了eml的Gmail消息,现在我们要将这些消息附加到一个Yahoo帐户。在尝试这个时,我们得到了这个错误 -

 javax.mail.MessagingException: A4 NO [SERVERBUG] LIST Server error - Please try again later;
   nested exception is: com.sun.mail.iap.CommandFailedException: A4 NO [SERVERBUG] LIST Server error - Please try again later
    at com.sun.mail.iap.Protocol.handleResult(Protocol.java:351)
    at com.sun.mail.imap.protocol.IMAPProtocol.doList(IMAPProtocol.java:1100)
    at com.sun.mail.imap.protocol.IMAPProtocol.list(IMAPProtocol.java:1046)
    at com.sun.mail.imap.IMAPFolder$1.doCommand(IMAPFolder.java:518)
    at com.sun.mail.imap.IMAPFolder.doProtocolCommand(IMAPFolder.java:2991)
    at com.sun.mail.imap.IMAPFolder.doCommand(IMAPFolder.java:2931)
    ... 8 more

有时这个过程会产生类似于下面列出的错误 -

A33 NO Invalid "flag-list" : Contains unsupported flag or other invalid item.
A18 BAD [CLIENTBUG] APPEND Command arguments invalid
A19 BAD [CLIENTBUG] APPEND Command arguments invalid
A21 NO [SERVERBUG] LIST Server error - Please try again later
A12 BAD [CLIENTBUG] APPEND Command arguments invalid
.............
............

是否可以使用Java Mail API将Gmail(eml)的消息附加到Yahoo帐户?

谢谢,

Neelam Sharma

1 个答案:

答案 0 :(得分:2)

这真是一个关于雅虎邮件服务器支持的问题。正如您所发现的,由于“服务器错误”,Yahoo邮件服务器有时会失败。可能需要几次重试才能使操作正常工作。

APPEND失败似乎是由于服务器限制了您在附加邮件时可以设置的标志。调试输出将显示它尝试设置的标志。在附加消息之前,您可能需要清除消息中的那些标志。

请参阅JavaMail populate.java demo program,特别是该计划中的dontPreserveFlags选项。