【问题标题】:Android JavaMail cancel sending emailAndroid JavaMail 取消发送邮件
【发布时间】:2016-05-01 12:03:27
【问题描述】:

我已在我的应用程序上通过 JavaMail 发送电子邮件。但是如何取消发送电子邮件?问题是,在发送大型电子邮件时,连接被关闭并且应用程序崩溃了。 JavaMail 不能是关闭传输对象。我正在发送这样的消息:

Transport.send(msg);

请给我建议?

【问题讨论】:

  • 我不明白。如果连接被关闭,发送中止。您所要做的就是捕获相应的异常。

标签: android email jakarta-mail mime-message


【解决方案1】:

没有简单的方法可以中止正在进行的消息发送。您应该可以使用Thread.interrupt 来中断发送线程并中止正在进行的 I/O。

【讨论】:

  • 您对哪一部分感到困惑?一个示例可能与您的应用程序非常不同,因为我不知道您的应用程序如何使用线程。一个线程调用 Transport.send。另一个线程需要知道第一个线程的 Thread 对象,然后当您想中止发送时,它会调用该线程对象的中断方法。第二个线程如何发现第一个线程取决于您的应用程序。第二个线程可能只想在第一个线程尝试发送时中断它,而不是在其他时间,所以你也必须处理它。
  • JavaMail 使用 java.net 套接字 AFAIK,根据定义,它们是不可中断的。
  • 你可能是对的;我不记得了。您可能必须关闭套接字才能导致 I/O 中止。没有办法通过 JavaMail 做到这一点。
  • @EJP 你知道如何在套接字关闭时停止发送电子邮件吗?
猜你喜欢
  • 2017-10-17
  • 1970-01-01
  • 1970-01-01
  • 2013-01-12
  • 2015-04-22
  • 2012-04-27
  • 2013-04-27
  • 2012-07-30
  • 1970-01-01
相关资源
最近更新 更多