Почему вложения отсутствуют при использовании Spring Mail? (Kotlin) - PullRequest
0 голосов
/ 18 апреля 2020

Я хочу отправить электронное письмо, используя Spring Boot и его почтовую библиотеку. Вот как я это реализовал: byteArray не является нулевым и не пустым.

class Attachment(val fileName: String, val byteArray: ByteArray)
private val emailSender: JavaMailSender

[...]

private fun sendMessage(to: String, subject: String, text: String, attachments: List<Attachment>? = null) {
        val message = emailSender.createMimeMessage()
        val helper = MimeMessageHelper(message, true)
        message.setContent(text, "text/html; charset=utf-8")

        helper.setFrom(sender)
        helper.setTo(to)
        helper.setSubject(subject)

        // add attachment
        attachments?.forEach { attachment ->
            helper.addAttachment(attachment.fileName, ByteArrayResource(attachment.byteArray))
        }

        try {
            emailSender.send(message)
        } catch (e: MailException) {
            logger.warn("Email could not be sent: $to, reason: ${e.message}")
        }
}

1 Ответ

0 голосов
/ 18 апреля 2020

Если вы используете класс почтового помощника из Spring, вам также нужно указать содержимое html.

private fun sendMessage(to: String, subject: String, text: String, attachments: List<Attachment>? = null) {
        val message = emailSender.createMimeMessage()
        val helper = MimeMessageHelper(message, true)

        helper.setFrom(sender)
        helper.setTo(to)
        helper.setSubject(subject)
        helper.setText(text, true)

        // add attachment
        attachments?.forEach { attachment ->
            helper.addAttachment(attachment.fileName, ByteArrayResource(attachment.byteArray))
        }

        try {
            emailSender.send(message)
        } catch (e: MailException) {
            logger.warn("Email could not be sent: $to, reason: ${e.message}")
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...