diff --git a/build.gradle b/build.gradle index d20f1c6..0ce4920 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ buildscript { ext { - kotlin_version = '1.3.41' + kotlin_version = '1.3.72' } repositories { @@ -21,7 +21,7 @@ allprojects { subprojects { ext { - version '0.3.0' + version '0.3.2' spring_version = "2.3.0.RELEASE" } diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/EmailMessenger.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/EmailMessenger.kt index 9fc1b4b..b735a3e 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/EmailMessenger.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/EmailMessenger.kt @@ -12,21 +12,23 @@ import java.io.File @Component class EmailMessenger : IEmailMessenger { - private var mailSender = JavaMailSenderImpl() - @Value("\${mail.host}") + @Autowired + private lateinit var mailSender: JavaMailSenderImpl + + @Value("\${spring.mail.host}") var host = "" - @Value("\${mail.port}") + @Value("\${spring.mail.port}") var port = "" - @Value("\${mail.sender}") + @Value("\${spring.mail.sender}") var sender = "" - @Value("\${mail.username}") + @Value("\${spring.mail.username}") var username = "" - @Value("\${mail.password}") + @Value("\${spring.mail.password}") var password = "" @Autowired @@ -40,18 +42,16 @@ class EmailMessenger : IEmailMessenger { * @param receivers 邮件接受者 * @param files 附件 */ - override fun sendMessage(subject: String, content: String, receivers: List, files: Map) { + override fun sendMessage(subject: String, content: String, receivers: List, files: Map): Map { + val result = mutableMapOf() this.check() - mailSender.host = host - mailSender.username = username - mailSender.password = password - mailSender.port = if (port.isEmpty()) port.toInt() else 25 - receivers.forEach { + receivers.forEach { receiver -> + result[receiver] = true try { val mail = mailSender.createMimeMessage() val mimeMessageHelper = MimeMessageHelper(mail, true, "utf-8") mimeMessageHelper.setFrom(sender) - mimeMessageHelper.setTo(it) + mimeMessageHelper.setTo(receiver) mimeMessageHelper.setSubject(subject) mimeMessageHelper.setText(content, true) @@ -61,9 +61,11 @@ class EmailMessenger : IEmailMessenger { } mailSender.send(mail) //发送 } catch (e: Exception) { - logger.error(e, "发送邮件[$subject]至地址[$it]失败") + logger.error(e, "发送邮件[$subject]至地址[$receiver]失败") + result[receiver] = false } } + return result } private fun check() { diff --git a/src/gaea/src/main/kotlin/com/synebula/gaea/io/messager/IEmailMessenger.kt b/src/gaea/src/main/kotlin/com/synebula/gaea/io/messager/IEmailMessenger.kt index c167384..5f10d36 100644 --- a/src/gaea/src/main/kotlin/com/synebula/gaea/io/messager/IEmailMessenger.kt +++ b/src/gaea/src/main/kotlin/com/synebula/gaea/io/messager/IEmailMessenger.kt @@ -10,5 +10,5 @@ interface IEmailMessenger { * @param files 附件 */ fun sendMessage(subject: String, content: String, - receivers: List, files: Map = mapOf()) + receivers: List, files: Map = mapOf()): Map } \ No newline at end of file