合并模块AES 同步最新时间标签aes-v15.20.21

This commit is contained in:
qinglong
2026-07-18 04:00:02 +08:00
parent 90cb428ca2
commit 3bae2b3b9a
5 changed files with 67 additions and 16 deletions
+4 -4
View File
@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
#Fri Jul 17 19:18:48 HKT 2026
stageCount=21
#Sat Jul 18 03:56:46 HKT 2026
stageCount=22
libraryProject=libaes
baseVersion=15.20
publishVersion=15.20.20
publishVersion=15.20.21
buildCount=0
baseBetaVersion=15.20.21
baseBetaVersion=15.20.22
+10
View File
@@ -120,6 +120,16 @@
# JSch SSH组件
-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 基础组件
-keep class androidx.appcompat.** { *; }
-keep interface androidx.appcompat.** { *; }
+4 -4
View File
@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
#Fri Jul 17 19:18:48 HKT 2026
stageCount=21
#Sat Jul 18 03:56:46 HKT 2026
stageCount=22
libraryProject=libaes
baseVersion=15.20
publishVersion=15.20.20
publishVersion=15.20.21
buildCount=0
baseBetaVersion=15.20.21
baseBetaVersion=15.20.22
+7
View File
@@ -9,6 +9,13 @@
# 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
# and specify the fully qualified class name to the JavaScript interface
# class:
@@ -43,6 +43,10 @@ public class APPMSGMailUtils {
//
public static void saveConfig(Context context, String server, String port,
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.Editor editor = sp.edit();
editor.putString(KEY_SMTP_SERVER, server);
@@ -51,7 +55,7 @@ public class APPMSGMailUtils {
editor.putString(KEY_SMTP_AUTH_CODE, authCode);
editor.putString(KEY_SMTP_RECIPIENT, recipient);
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) {
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) {
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) {
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) {
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) {
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,
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邮件发送已禁用,跳过操作");
return;
}
@@ -111,26 +131,35 @@ public class APPMSGMailUtils {
final String port = getPort(context);
final String sender = getSender(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) {
LogUtils.w(TAG, "sendMail: 请先配置发件人邮箱");
showToast(context, "请先配置发件人邮箱");
return;
}
if (authCode == null || authCode.length() == 0) {
LogUtils.w(TAG, "sendMail: 请先配置邮箱授权码");
showToast(context, "请先配置邮箱授权码");
return;
}
if (recipients == null || recipients.length() == 0) {
LogUtils.w(TAG, "sendMail: 收件人不能为空");
showToast(context, "收件人不能为空");
return;
}
LogUtils.d(TAG, "sendMail: 参数校验通过,准备启动发送线程");
showToast(context, "正在发送邮件...");
new Thread(new Runnable() {
@Override
public void run() {
LogUtils.d(TAG, "sendMail: 发送线程已启动");
try {
LogUtils.d(TAG, "sendMail: 创建邮件属性配置");
Properties props = new Properties();
props.put("mail.smtp.host", server);
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.class", "javax.net.ssl.SSLSocketFactory");
LogUtils.d(TAG, "sendMail: 创建邮件会话");
Session session = Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
LogUtils.d(TAG, "sendMail: 身份验证回调触发");
return new PasswordAuthentication(sender, authCode);
}
});
LogUtils.d(TAG, "sendMail: 创建MimeMessage");
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(sender));
message.setRecipients(Message.RecipientType.TO,
@@ -152,16 +184,18 @@ public class APPMSGMailUtils {
message.setSubject(subject);
message.setText(content);
LogUtils.d(TAG, "sendMail: 调用Transport.send开始发送");
Transport.send(message);
LogUtils.d(TAG, "sendMail: 邮件发送成功");
showToast(context, "邮件发送成功");
} catch (Exception e) {
LogUtils.e(TAG, "sendMail: 邮件发送失败", e);
LogUtils.e(TAG, "sendMail: 邮件发送异常", e);
showToast(context, "邮件发送失败: " + e.getMessage());
}
}
}).start();
LogUtils.d(TAG, "sendMail: ====== sendMail调用结束 ======");
}
//