【问题标题】:android: mails not sent when minify is trueandroid:当缩小为真时未发送邮件
【发布时间】:2021-06-27 10:17:52
【问题描述】:

尝试使用 javax.mail 包。当 minify 为 false 时,发送邮件。当 minify 为 true 时,不发送邮件。

这是 AsyncTask doinbackground。当 minify 为 true 时,异常消息为“smtp”。

2021-03-31 14:52:35.196 26564-26652/? W: javax.mail.NoSuchProviderException: smtp
2021-03-31 14:52:35.196 26564-26652/? W:     at     javax.mail.Session.getService(Unknown Source:138)
2021-03-31 14:52:35.196 26564-26652/? W:     at     javax.mail.Session.getTransport(Unknown Source:10)
2021-03-31 14:52:35.196 26564-26652/? W:     at     javax.mail.Session.getTransport(Unknown Source:8)
2021-03-31 14:52:35.196 26564-26652/? W:     at     javax.mail.Session.getTransport(Unknown Source:12)
2021-03-31 14:52:35.196 26564-26652/? W:     at     javax.mail.Session.getTransport(Unknown Source:14)
2021-03-31 14:52:35.196 26564-26652/? W:     at     javax.mail.Transport.send0(Unknown Source:61)
2021-03-31 14:52:35.196 26564-26652/? W:     at javax.mail.Transport.send(Unknown Source:7)
2021-03-31 14:52:35.196 26564-26652/? W:     at     com.maor.cohen.utils.EmailUtils$SendMailTask.doInBackground(Unknown     Source:3)
2021-03-31 14:52:35.196 26564-26652/? W:     at     com.maor.cohen.utils.EmailUtils$SendMailTask.doInBackground(Unknown     Source:2)
2021-03-31 14:52:35.196 26564-26652/? W:     at android.os.AsyncTask$3.call(AsyncTask.java:378)
2021-03-31 14:52:35.196 26564-26652/? W:     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
2021-03-31 14:52:35.196 26564-26652/? W:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
2021-03-31 14:52:35.196 26564-26652/? W:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
2021-03-31 14:52:35.196 26564-26652/? W:     at     java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
2021-03-31 14:52:35.196 26564-26652/? W:     at java.lang.Thread.run(Thread.java:919)

异步任务doInBackground:

protected Void doInBackground(javax.mail.Message... messages) {
        try {
            Transport.send(messages[0]);
        } catch (MessagingException e) {
            Log.d("log_tag", "excpetion sending mail: " + e.getLocalizedMessage());
            e.printStackTrace();
        }
        return null;
    }

我添加了proguard:

-keep class javax.** {*;}
-keep class javax.* {*;}
-keep class javax.mail.* {*;}

但尚未成功发送邮件。

知道如何解决这个问题吗? minify 必须为 true,并且应该在此处添加更多内容。

【问题讨论】:

  • 异常堆栈跟踪是什么?用问题添加它
  • 已添加。例外是“smtp”
  • 这没用我的意思是e.printStackTrace() 打印什么?尝试启用 minify 以进行调试构建并检查堆栈跟踪

标签: android proguard minify javax.mail.address


【解决方案1】:

Javamail 规则

-keep class javax.** {*;}
-keep class com.sun.** {*;}
-keep class myjava.** {*;}
-keep class org.apache.harmony.** {*;}
-keep public class MailClient {*;}
-dontwarn com.sun.mail.**
-dontwarn java.awt.**
-dontwarn java.beans.Beans
-dontwarn javax.security.**

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 2016-11-12
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多