我试图用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环境发送电子邮件?
答案 0 :(得分:0)
您不能只是免费发送电子邮件。您需要配置一个smtp服务器(并首先配置一个可以使用的服务器),因为您正在使用未设置任何内容的Properties
新实例,所以在示例中没有这样做。
此处是用于设置这些属性的基于Java的指南-> Sending Emails with Java
关于获取smtp服务器的详细信息,我相信google会提供免费的smtp,但要达到一定的门槛,但是我敢肯定还有其他的。