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 模块发送电子邮件时未显示“主题”