Как я могу отправить письмо с Java? - PullRequest
0 голосов
/ 17 апреля 2019

Я пытался отправить письмо с помощью Java.Но я думаю, что двигатель для отправки электронной почты идеально подходит.Тогда письмо не было отправлено.Как я могу исправить эту проблему?

Я думаю, что эта проблема, похоже, связана с Java-библиотеками.Это мой отправляющий код электронной почты.

fun send(email: String, fullName: String?, mailSubject: String, mailText: String, mailHtml: String? = null) {
    // fix_juna 0417_end
    logger.info("Prepare email")
    Transport.send(MimeMessage(Session.getDefaultInstance(Properties())).apply {
        setFrom(fromAddress)
        logger.info("set from$fromAddress") //fix_juna 0417
        addRecipient(Message.RecipientType.TO, InternetAddress(email, fullName ?: ""))
        logger.info("set email$email, fullname$fullName") //fix_juna 0417
        subject = mailSubject
        setContent(MimeMultipart().apply {
            mailHtml?.also { addBodyPart(MimeBodyPart().apply { setContent(it, "text/html") }) }
            addBodyPart(MimeBodyPart().apply { setContent(mailText, "text/plain") })
        })
    })
}

Я подтвердил, что эта функция запущена.Советы: этот код основан на языке kotlin.

Почему электронная почта не отправляется и как настроить Java-среду для отправки электронной почты?

1 Ответ

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

Вы не можете просто отправить письмо бесплатно. Вам нужно настроить SMTP-сервер (и иметь тот, который вы можете использовать в первую очередь), чего вы не сделали в своем примере, потому что вы используете новый экземпляр Properties с ничего не установленным.

Вот руководство на основе Java для настройки этих свойств -> Отправка электронных писем с Java

Что касается получения сведений о SMTP-сервере, я считаю, что Google предлагает бесплатный SMTP до некоторого порога, но я уверен, что есть и другие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...