mirror of
https://gitea.winboll.cc/ZhanGSKen/MyWinBoLL.git
synced 2026-08-14 13:37:11 +08:00
<libaes><aes>fix: 修复Release编译R8混淆导致SMTP发送失败,添加邮件发送调试日志
This commit is contained in:
Vendored
+10
@@ -120,6 +120,16 @@
|
|||||||
# JSch SSH组件
|
# JSch SSH组件
|
||||||
-keep class com.jcraft.jsch.** { *; }
|
-keep class com.jcraft.jsch.** { *; }
|
||||||
|
|
||||||
|
# JavaMail SMTP(邮件发送核心库,Release编译必须保留)
|
||||||
|
-dontwarn javax.mail.**
|
||||||
|
-keep class javax.mail.** { *; }
|
||||||
|
-keep class javax.mail.internet.** { *; }
|
||||||
|
-dontwarn javax.activation.**
|
||||||
|
-keep class javax.activation.** { *; }
|
||||||
|
-dontwarn com.sun.mail.**
|
||||||
|
-keep class com.sun.mail.** { *; }
|
||||||
|
-keepclassmembers class * extends javax.mail.Authenticator { *; }
|
||||||
|
|
||||||
# AndroidX 基础组件
|
# AndroidX 基础组件
|
||||||
-keep class androidx.appcompat.** { *; }
|
-keep class androidx.appcompat.** { *; }
|
||||||
-keep interface androidx.appcompat.** { *; }
|
-keep interface androidx.appcompat.** { *; }
|
||||||
|
|||||||
Vendored
+7
@@ -9,6 +9,13 @@
|
|||||||
|
|
||||||
# Add any project specific keep options here:
|
# Add any project specific keep options here:
|
||||||
|
|
||||||
|
# JavaMail SMTP(邮件发送核心库,Release编译必须保留)
|
||||||
|
-dontwarn javax.mail.**
|
||||||
|
-keep class javax.mail.** { *; }
|
||||||
|
-keep class javax.mail.internet.** { *; }
|
||||||
|
-dontwarn com.sun.mail.**
|
||||||
|
-keep class com.sun.mail.** { *; }
|
||||||
|
|
||||||
# If your project uses WebView with JS, uncomment the following
|
# If your project uses WebView with JS, uncomment the following
|
||||||
# and specify the fully qualified class name to the JavaScript interface
|
# and specify the fully qualified class name to the JavaScript interface
|
||||||
# class:
|
# class:
|
||||||
|
|||||||
@@ -43,6 +43,10 @@ public class APPMSGMailUtils {
|
|||||||
//
|
//
|
||||||
public static void saveConfig(Context context, String server, String port,
|
public static void saveConfig(Context context, String server, String port,
|
||||||
String sender, String authCode, String recipient) {
|
String sender, String authCode, String recipient) {
|
||||||
|
LogUtils.d(TAG, "saveConfig: 开始保存SMTP配置");
|
||||||
|
LogUtils.d(TAG, "saveConfig: server=" + server + ", port=" + port);
|
||||||
|
LogUtils.d(TAG, "saveConfig: sender=" + sender + ", authCode长度=" + (authCode != null ? authCode.length() : 0));
|
||||||
|
LogUtils.d(TAG, "saveConfig: recipient=" + recipient);
|
||||||
SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
|
SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
|
||||||
SharedPreferences.Editor editor = sp.edit();
|
SharedPreferences.Editor editor = sp.edit();
|
||||||
editor.putString(KEY_SMTP_SERVER, server);
|
editor.putString(KEY_SMTP_SERVER, server);
|
||||||
@@ -51,7 +55,7 @@ public class APPMSGMailUtils {
|
|||||||
editor.putString(KEY_SMTP_AUTH_CODE, authCode);
|
editor.putString(KEY_SMTP_AUTH_CODE, authCode);
|
||||||
editor.putString(KEY_SMTP_RECIPIENT, recipient);
|
editor.putString(KEY_SMTP_RECIPIENT, recipient);
|
||||||
editor.apply();
|
editor.apply();
|
||||||
LogUtils.d(TAG, "saveConfig: SMTP配置已保存");
|
LogUtils.d(TAG, "saveConfig: SMTP配置已保存完成");
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -59,27 +63,37 @@ public class APPMSGMailUtils {
|
|||||||
//
|
//
|
||||||
public static String getServer(Context context) {
|
public static String getServer(Context context) {
|
||||||
SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
|
SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
|
||||||
return sp.getString(KEY_SMTP_SERVER, DEFAULT_SMTP_SERVER);
|
String value = sp.getString(KEY_SMTP_SERVER, DEFAULT_SMTP_SERVER);
|
||||||
|
LogUtils.d(TAG, "getServer: " + value);
|
||||||
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getPort(Context context) {
|
public static String getPort(Context context) {
|
||||||
SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
|
SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
|
||||||
return sp.getString(KEY_SMTP_PORT, DEFAULT_SMTP_PORT);
|
String value = sp.getString(KEY_SMTP_PORT, DEFAULT_SMTP_PORT);
|
||||||
|
LogUtils.d(TAG, "getPort: " + value);
|
||||||
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getSender(Context context) {
|
public static String getSender(Context context) {
|
||||||
SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
|
SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
|
||||||
return sp.getString(KEY_SMTP_SENDER, "");
|
String value = sp.getString(KEY_SMTP_SENDER, "");
|
||||||
|
LogUtils.d(TAG, "getSender: " + value);
|
||||||
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getAuthCode(Context context) {
|
public static String getAuthCode(Context context) {
|
||||||
SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
|
SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
|
||||||
return sp.getString(KEY_SMTP_AUTH_CODE, "");
|
String value = sp.getString(KEY_SMTP_AUTH_CODE, "");
|
||||||
|
LogUtils.d(TAG, "getAuthCode: 长度=" + (value != null ? value.length() : 0));
|
||||||
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getRecipient(Context context) {
|
public static String getRecipient(Context context) {
|
||||||
SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
|
SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
|
||||||
return sp.getString(KEY_SMTP_RECIPIENT, "");
|
String value = sp.getString(KEY_SMTP_RECIPIENT, "");
|
||||||
|
LogUtils.d(TAG, "getRecipient: " + value);
|
||||||
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -103,7 +117,13 @@ public class APPMSGMailUtils {
|
|||||||
//
|
//
|
||||||
public static void sendMail(final Context context, final String subject,
|
public static void sendMail(final Context context, final String subject,
|
||||||
final String content, final String recipients) {
|
final String content, final String recipients) {
|
||||||
if (!isEnabled(context)) {
|
LogUtils.d(TAG, "sendMail: ====== 开始调用sendMail ======");
|
||||||
|
LogUtils.d(TAG, "sendMail: subject=" + subject);
|
||||||
|
LogUtils.d(TAG, "sendMail: content长度=" + (content != null ? content.length() : 0));
|
||||||
|
LogUtils.d(TAG, "sendMail: recipients=" + recipients);
|
||||||
|
boolean enabled = isEnabled(context);
|
||||||
|
LogUtils.d(TAG, "sendMail: isEnabled=" + enabled);
|
||||||
|
if (!enabled) {
|
||||||
LogUtils.d(TAG, "sendMail: SMTP邮件发送已禁用,跳过操作");
|
LogUtils.d(TAG, "sendMail: SMTP邮件发送已禁用,跳过操作");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -111,26 +131,35 @@ public class APPMSGMailUtils {
|
|||||||
final String port = getPort(context);
|
final String port = getPort(context);
|
||||||
final String sender = getSender(context);
|
final String sender = getSender(context);
|
||||||
final String authCode = getAuthCode(context);
|
final String authCode = getAuthCode(context);
|
||||||
|
LogUtils.d(TAG, "sendMail: server=" + server + ", port=" + port);
|
||||||
|
LogUtils.d(TAG, "sendMail: sender=" + sender + ", authCode长度=" + (authCode != null ? authCode.length() : 0));
|
||||||
|
LogUtils.d(TAG, "sendMail: recipients=" + recipients);
|
||||||
|
|
||||||
if (sender == null || sender.length() == 0) {
|
if (sender == null || sender.length() == 0) {
|
||||||
|
LogUtils.w(TAG, "sendMail: 请先配置发件人邮箱");
|
||||||
showToast(context, "请先配置发件人邮箱");
|
showToast(context, "请先配置发件人邮箱");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (authCode == null || authCode.length() == 0) {
|
if (authCode == null || authCode.length() == 0) {
|
||||||
|
LogUtils.w(TAG, "sendMail: 请先配置邮箱授权码");
|
||||||
showToast(context, "请先配置邮箱授权码");
|
showToast(context, "请先配置邮箱授权码");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (recipients == null || recipients.length() == 0) {
|
if (recipients == null || recipients.length() == 0) {
|
||||||
|
LogUtils.w(TAG, "sendMail: 收件人不能为空");
|
||||||
showToast(context, "收件人不能为空");
|
showToast(context, "收件人不能为空");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LogUtils.d(TAG, "sendMail: 参数校验通过,准备启动发送线程");
|
||||||
showToast(context, "正在发送邮件...");
|
showToast(context, "正在发送邮件...");
|
||||||
|
|
||||||
new Thread(new Runnable() {
|
new Thread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
LogUtils.d(TAG, "sendMail: 发送线程已启动");
|
||||||
try {
|
try {
|
||||||
|
LogUtils.d(TAG, "sendMail: 创建邮件属性配置");
|
||||||
Properties props = new Properties();
|
Properties props = new Properties();
|
||||||
props.put("mail.smtp.host", server);
|
props.put("mail.smtp.host", server);
|
||||||
props.put("mail.smtp.port", port);
|
props.put("mail.smtp.port", port);
|
||||||
@@ -138,13 +167,16 @@ public class APPMSGMailUtils {
|
|||||||
props.put("mail.smtp.socketFactory.port", port);
|
props.put("mail.smtp.socketFactory.port", port);
|
||||||
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
|
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
|
||||||
|
|
||||||
|
LogUtils.d(TAG, "sendMail: 创建邮件会话");
|
||||||
Session session = Session.getInstance(props, new Authenticator() {
|
Session session = Session.getInstance(props, new Authenticator() {
|
||||||
@Override
|
@Override
|
||||||
protected PasswordAuthentication getPasswordAuthentication() {
|
protected PasswordAuthentication getPasswordAuthentication() {
|
||||||
|
LogUtils.d(TAG, "sendMail: 身份验证回调触发");
|
||||||
return new PasswordAuthentication(sender, authCode);
|
return new PasswordAuthentication(sender, authCode);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
LogUtils.d(TAG, "sendMail: 创建MimeMessage");
|
||||||
MimeMessage message = new MimeMessage(session);
|
MimeMessage message = new MimeMessage(session);
|
||||||
message.setFrom(new InternetAddress(sender));
|
message.setFrom(new InternetAddress(sender));
|
||||||
message.setRecipients(Message.RecipientType.TO,
|
message.setRecipients(Message.RecipientType.TO,
|
||||||
@@ -152,16 +184,18 @@ public class APPMSGMailUtils {
|
|||||||
message.setSubject(subject);
|
message.setSubject(subject);
|
||||||
message.setText(content);
|
message.setText(content);
|
||||||
|
|
||||||
|
LogUtils.d(TAG, "sendMail: 调用Transport.send开始发送");
|
||||||
Transport.send(message);
|
Transport.send(message);
|
||||||
|
|
||||||
LogUtils.d(TAG, "sendMail: 邮件发送成功");
|
LogUtils.d(TAG, "sendMail: 邮件发送成功");
|
||||||
showToast(context, "邮件发送成功");
|
showToast(context, "邮件发送成功");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LogUtils.e(TAG, "sendMail: 邮件发送失败", e);
|
LogUtils.e(TAG, "sendMail: 邮件发送异常", e);
|
||||||
showToast(context, "邮件发送失败: " + e.getMessage());
|
showToast(context, "邮件发送失败: " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).start();
|
}).start();
|
||||||
|
LogUtils.d(TAG, "sendMail: ====== sendMail调用结束 ======");
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user