android:当缩小为真时未发送邮件

Posted

技术标签:

【中文标题】android:当缩小为真时未发送邮件【英文标题】:android: mails not sent when minify is true 【发布时间】: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 以进行调试构建并检查堆栈跟踪 【参考方案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.**

【讨论】:

以上是关于android:当缩小为真时未发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

当应该为真时,Android Studio 改造响应返回布尔值为假

Python:使用 smtplib 模块发送电子邮件时未显示“主题”

Gmail API 游乐场:发送方法,转换后的 MIME 原始标头在发送时未填充电子邮件字段

Rails:延迟作业-> 发送异步邮件时未接收“来自”字段

Django - 发送有关模型更改的电子邮件

从 SMTP 客户端发送的电子邮件中的空白呈现缩小