如何使用Java发送电子邮件?

时间:2019-04-17 16:13:34

标签: email kotlin

我试图用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 :(得分:0)

您不能只是免费发送电子邮件。您需要配置一个smtp服务器(并首先配置一个可以使用的服务器),因为您正在使用未设置任何内容的Properties新实例,所以在示例中没有这样做。

此处是用于设置这些属性的基于Java的指南-> Sending Emails with Java

关于获取smtp服务器的详细信息,我相信google会提供免费的smtp,但要达到一定的门槛,但是我敢肯定还有其他的。