【问题标题】:Cannot send emails via javamail api on android 3.2无法通过 android 3.2 上的 javamail api 发送电子邮件
【发布时间】:2014-12-10 18:19:32
【问题描述】:

编辑:Hiren 给出的解决方案奏效了。非常感谢!对于那些有类似问题的人,请按照这些说明进行操作,同时查看:Android Honeycomb: NetworkOnMainThreadException even when using AsyncTask and no strict mode?

再次感谢!

我正在为 Galaxy 选项卡开发应用程序,但无法从该选项卡发送电子邮件。我找到的代码可以在其他地方(包括我的手机)使用,但它确实可以使用 not work on the tab

当我尝试通过 javamail 发送邮件时遇到的异常是这样的:

没有加载file: /system/lib/javamail.providers

我尝试使用下面建议的解决方案,但出现以下异常:

01-21 14:30:14.340: E/MailApp(3515): Could not send email
01-21 14:30:14.340: E/MailApp(3515): android.os.NetworkOnMainThreadException
01-21 14:30:14.340: E/MailApp(3515):    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1077)
01-21 14:30:14.340: E/MailApp(3515):    at java.net.InetAddress.lookupHostByName(InetAddress.java:477)
01-21 14:30:14.340: E/MailApp(3515):    at java.net.InetAddress.getLocalHost(InetAddress.java:445)
01-21 14:30:14.340: E/MailApp(3515):    at javax.mail.internet.InternetAddress.getLocalAddress(InternetAddress.java:517)
01-21 14:30:14.340: E/MailApp(3515):    at javax.mail.internet.UniqueValue.getUniqueMessageIDValue(UniqueValue.java:99)
01-21 14:30:14.340: E/MailApp(3515):    at javax.mail.internet.MimeMessage.updateMessageID(MimeMessage.java:2054)
01-21 14:30:14.340: E/MailApp(3515):    at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2076)
01-21 14:30:14.340: E/MailApp(3515):    at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2042)
01-21 14:30:14.340: E/MailApp(3515):    at javax.mail.Transport.send(Transport.java:117)
01-21 14:30:14.340: E/MailApp(3515):    at android.app.Mail.send(Mail.java:136)
01-21 14:30:14.340: E/MailApp(3515):    at android.app.ConfirmationActivity.onSubmit(ConfirmationActivity.java:151)
01-21 14:30:14.340: E/MailApp(3515):    at java.lang.reflect.Method.invokeNative(Native Method)
01-21 14:30:14.340: E/MailApp(3515):    at java.lang.reflect.Method.invoke(Method.java:491)
01-21 14:30:14.340: E/MailApp(3515):    at android.view.View$1.onClick(View.java:2695)
01-21 14:30:14.340: E/MailApp(3515):    at android.view.View.performClick(View.java:3127)
01-21 14:30:14.340: E/MailApp(3515):    at android.view.View$PerformClick.run(View.java:12025)
01-21 14:30:14.340: E/MailApp(3515):    at android.os.Handler.handleCallback(Handler.java:587)
01-21 14:30:14.340: E/MailApp(3515):    at android.os.Handler.dispatchMessage(Handler.java:92)
01-21 14:30:14.340: E/MailApp(3515):    at android.os.Looper.loop(Looper.java:132)
01-21 14:30:14.340: E/MailApp(3515):    at android.app.ActivityThread.main(ActivityThread.java:4126)
01-21 14:30:14.340: E/MailApp(3515):    at java.lang.reflect.Method.invokeNative(Native Method)
01-21 14:30:14.340: E/MailApp(3515):    at java.lang.reflect.Method.invoke(Method.java:491)
01-21 14:30:14.340: E/MailApp(3515):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
01-21 14:30:14.340: E/MailApp(3515):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
01-21 14:30:14.340: E/MailApp(3515):    at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

  • 抱歉我今天没睡!我会再次编辑 - 这可能是我能提供的尽可能多的信息。
  • 这确实是一个堆栈跟踪。它似乎与 JavaMail 没有任何关系。或许您应该考虑联系创建 Android JavaMail 端口的人寻求帮助,或许可以通过使用示例项目提交问题来证明您的问题:code.google.com/p/javamail-android
  • 你说得对,Java 邮件很好,因为它可以在我的手机上完美运行。我只是对为什么相同的代码在银河选项卡上不起作用感到困惑。哦,非常感谢您的帮助 - 希望我能快速找到解决方案。晚安!

标签: java android jakarta-mail galaxy


【解决方案1】:

试试 this 链接,我在我的应用程序中使用了相同的链接,它对我来说很好用。其他 link 使用 smtp(gmail)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-17
    • 2012-03-22
    • 1970-01-01
    • 2012-04-19
    • 2020-10-02
    • 1970-01-01
    相关资源
    最近更新 更多