mirror of
https://github.com/pppscn/SmsForwarder
synced 2025-08-02 08:57:40 +08:00
parent
b05d856f26
commit
f029048d09
@ -346,9 +346,10 @@ dependencies {
|
||||
//语种切换框架:https://github.com/getActivity/MultiLanguages
|
||||
implementation 'com.github.getActivity:MultiLanguages:b47f7be' //9.3
|
||||
|
||||
def mail_version = '1.6.7'
|
||||
implementation "com.sun.mail:android-mail:$mail_version"
|
||||
implementation "com.sun.mail:android-activation:$mail_version"
|
||||
// https://jakartaee.github.io/mail-api/Android
|
||||
def mail_version = '2.0.1'
|
||||
implementation "com.sun.mail:jakarta.mail:$mail_version"
|
||||
implementation "com.sun.activation:jakarta.activation:$mail_version"
|
||||
|
||||
//国密算法SM4 的JAVA实现(基于BC实现)
|
||||
def bouncycastle_version = '1.77'
|
||||
@ -396,4 +397,4 @@ static def getGitCommitId() {
|
||||
e.printStackTrace()
|
||||
return ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,14 +3,16 @@ package com.idormy.sms.forwarder.utils.mail
|
||||
import android.text.Html
|
||||
import android.text.Spanned
|
||||
import com.idormy.sms.forwarder.utils.Log
|
||||
import com.sun.mail.util.MailSSLSocketFactory
|
||||
import jakarta.mail.Authenticator
|
||||
import jakarta.mail.PasswordAuthentication
|
||||
import org.bouncycastle.openpgp.PGPPublicKeyRing
|
||||
import org.bouncycastle.openpgp.PGPSecretKeyRing
|
||||
import java.io.File
|
||||
import java.security.PrivateKey
|
||||
import java.security.cert.X509Certificate
|
||||
import java.util.Properties
|
||||
import javax.mail.Authenticator
|
||||
import javax.mail.PasswordAuthentication
|
||||
|
||||
|
||||
@Suppress("PrivatePropertyName", "DEPRECATION")
|
||||
class EmailSender(
|
||||
@ -32,7 +34,6 @@ class EmailSender(
|
||||
private val listener: EmailTaskListener? = null,
|
||||
// 安全选项
|
||||
private val openSSL: Boolean = false, //是否开启ssl验证 默认关闭
|
||||
private val sslFactory: String = "javax.net.ssl.SSLSocketFactory", //SSL构建类名
|
||||
private val startTls: Boolean = false, //是否开启starttls加密方式 默认关闭
|
||||
// 邮件加密方式: S/MIME、OpenPGP、Plain(不传证书)
|
||||
private val encryptionProtocol: String = "S/MIME",
|
||||
@ -58,7 +59,11 @@ class EmailSender(
|
||||
// 设置是否启用 SSL 连接
|
||||
if (openSSL) {
|
||||
put("mail.smtp.ssl.enable", "true")
|
||||
put("mail.smtp.socketFactory.class", sslFactory)
|
||||
// 使用 TLSv1.2 协议 & 信任所有主机
|
||||
val sf = MailSSLSocketFactory("TLSv1.2")
|
||||
sf.setTrustedHosts("*")
|
||||
put("mail.smtp.ssl.socketFactory", sf)
|
||||
put("mail.smtp.ssl.protocols", "TLSv1.2")
|
||||
}
|
||||
// 设置是否启用 TLS 连接
|
||||
if (startTls) {
|
||||
@ -171,4 +176,4 @@ class EmailSender(
|
||||
return PasswordAuthentication(userName, password)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,18 @@
|
||||
package com.idormy.sms.forwarder.utils.mail
|
||||
|
||||
import com.idormy.sms.forwarder.utils.Log
|
||||
import jakarta.activation.DataHandler
|
||||
import jakarta.activation.FileDataSource
|
||||
import jakarta.mail.Authenticator
|
||||
import jakarta.mail.Message
|
||||
import jakarta.mail.Session
|
||||
import jakarta.mail.Transport
|
||||
import jakarta.mail.internet.InternetAddress
|
||||
import jakarta.mail.internet.MimeBodyPart
|
||||
import jakarta.mail.internet.MimeMessage
|
||||
import jakarta.mail.internet.MimeMultipart
|
||||
import jakarta.mail.internet.MimeUtility
|
||||
import jakarta.mail.util.ByteArrayDataSource
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.bouncycastle.jce.provider.BouncyCastleProvider
|
||||
@ -22,18 +34,6 @@ import java.io.InputStream
|
||||
import java.security.Security
|
||||
import java.util.Date
|
||||
import java.util.Properties
|
||||
import javax.activation.DataHandler
|
||||
import javax.activation.FileDataSource
|
||||
import javax.mail.Authenticator
|
||||
import javax.mail.Message
|
||||
import javax.mail.Session
|
||||
import javax.mail.Transport
|
||||
import javax.mail.internet.InternetAddress
|
||||
import javax.mail.internet.MimeBodyPart
|
||||
import javax.mail.internet.MimeMessage
|
||||
import javax.mail.internet.MimeMultipart
|
||||
import javax.mail.internet.MimeUtility
|
||||
import javax.mail.util.ByteArrayDataSource
|
||||
|
||||
|
||||
@Suppress("PrivatePropertyName")
|
||||
@ -244,4 +244,3 @@ class PgpUtils(
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,17 @@
|
||||
package com.idormy.sms.forwarder.utils.mail
|
||||
|
||||
import com.idormy.sms.forwarder.utils.Log
|
||||
import jakarta.activation.DataHandler
|
||||
import jakarta.activation.FileDataSource
|
||||
import jakarta.mail.Authenticator
|
||||
import jakarta.mail.Message
|
||||
import jakarta.mail.Session
|
||||
import jakarta.mail.Transport
|
||||
import jakarta.mail.internet.InternetAddress
|
||||
import jakarta.mail.internet.MimeBodyPart
|
||||
import jakarta.mail.internet.MimeMessage
|
||||
import jakarta.mail.internet.MimeMultipart
|
||||
import jakarta.mail.internet.MimeUtility
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.bouncycastle.cert.jcajce.JcaCertStore
|
||||
@ -24,17 +35,7 @@ import java.security.Security
|
||||
import java.security.cert.X509Certificate
|
||||
import java.util.Date
|
||||
import java.util.Properties
|
||||
import javax.activation.DataHandler
|
||||
import javax.activation.FileDataSource
|
||||
import javax.mail.Authenticator
|
||||
import javax.mail.Message
|
||||
import javax.mail.Session
|
||||
import javax.mail.Transport
|
||||
import javax.mail.internet.InternetAddress
|
||||
import javax.mail.internet.MimeBodyPart
|
||||
import javax.mail.internet.MimeMessage
|
||||
import javax.mail.internet.MimeMultipart
|
||||
import javax.mail.internet.MimeUtility
|
||||
|
||||
|
||||
@Suppress("PrivatePropertyName")
|
||||
class SmimeUtils(
|
||||
@ -249,4 +250,4 @@ class SmimeUtils(
|
||||
return encryptedMessage
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -137,6 +137,14 @@ class EmailUtils {
|
||||
setting.fromEmail += setting.mailType
|
||||
}
|
||||
|
||||
"@icloud.com" -> {
|
||||
setting.host = "smtp.mail.me.com"
|
||||
setting.port = "587"
|
||||
setting.ssl = false
|
||||
setting.startTls = true
|
||||
setting.fromEmail += setting.mailType
|
||||
}
|
||||
|
||||
else -> {}
|
||||
}
|
||||
|
||||
@ -346,4 +354,4 @@ class EmailUtils {
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -127,6 +127,7 @@
|
||||
<item>\@sina.cn</item>
|
||||
<item>\@139.com</item>
|
||||
<item>\@189.cn</item>
|
||||
<item>\@icloud.com</item>
|
||||
<item>@string/other_mail_type</item><!--注意这里不能修改-->
|
||||
</string-array>
|
||||
|
||||
@ -142,4 +143,4 @@
|
||||
<item>UTF-32BE</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
||||
</resources>
|
||||
|
@ -6,14 +6,14 @@
|
||||
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
||||
# Specifies the JVM arguments used for the daemon process.
|
||||
# The setting is particularly useful for tweaking memory settings.
|
||||
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
|
||||
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
|
||||
# When configured, Gradle will run in incubating parallel mode.
|
||||
# This option should only be used with decoupled projects. More details, visit
|
||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||
# org.gradle.parallel=true
|
||||
# 是否打包APK,打正式包时请设置为true,使用正式的签名
|
||||
isNeedPackage=true
|
||||
isNeedClean=false
|
||||
isNeedClean=true
|
||||
# 是否排除Frpc动态库,打正式包时请设置为true
|
||||
excludeFrpclib=true
|
||||
# 是否使用leakcanary检测内存泄漏,打正式包时请设置为false
|
||||
|
Loading…
x
Reference in New Issue
Block a user