SimpleEmail强制SMTP到端口465

时间:2018-09-26 06:43:25

标签: email kotlin smtp port

我一直在尝试使用SimpleEmail从服务器以编程方式发送电子邮件。我用Kotlin。到目前为止,尽管将其设置为其他端口,它始终总是导致似乎仅使用端口465的错误。我一直在尝试找出为什么这样做,但是我没有看到任何提示。

    SimpleEmail().apply {
        hostName = "smtp.gmail.com"
        setSmtpPort(587)
        setAuthenticator(DefaultAuthenticator("**email**", "**password**"))
        setSSLOnConnect(true)
        setFrom("**email**")
        subject = "TEST"
        setMsg("TEST")
        addTo(email)
    }.send()

错误:

  

org.apache.commons.mail.EmailException:将电子邮件发送到以下服务器失败:smtp.gmail.com:465

1 个答案:

答案 0 :(得分:0)

hostName应该为=“ smtp.googlemail.com”,而不是“ smtp.gmail.com”,如果它不起作用,请检查gmail设置以访问smpt。

const val myEmail = "test@gmail.com"
const val myPassword = "test"
const val receivingAddress = "test"

fun main(args: Array<String>) {
    SimpleEmail().apply {
        hostName = "smtp.googlemail.com"
        isSSLOnConnect = true
        subject = ("subject")
        setSmtpPort(465)
        setAuthenticator(DefaultAuthenticator(myEmail, myPassword))
        setFrom(myEmail)
        setMsg("message")
        addTo(receivingAddress)
    }.send() // will throw email-exception if something is wrong
}