mirror of
https://gitea.winboll.cc/Studio/WinBoLL.git
synced 2026-08-14 05:27:10 +08:00
合并模块AES 同步最新时间标签aes-v15.20.21
This commit is contained in:
@@ -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
|
||||
|
||||
Vendored
+10
@@ -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.** { *; }
|
||||
|
||||
@@ -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
|
||||
|
||||
Vendored
+7
@@ -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调用结束 ======");
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user