【问题标题】:Unable to send mail using zoho smtp server无法使用 zoho smtp 服务器发送邮件
【发布时间】:2023-03-28 02:10:02
【问题描述】:

我正在尝试使用 Zoho SMTP 服务器使用以下代码发送邮件:

 public void sendEmail(Email email) {
        Properties props = setupMailEnv();

        Session session = Session.getDefaultInstance(props,
                new javax.mail.Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication("sssxxxx@xxx.com", "xxxxx");
                    }
                });

        try {

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(email.getFromMailId()));
            message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse(email.getToEmailId()));
            message.setSubject(email.getSubject());
            message.setText(email.getBody());

            Transport.send(message);

            log.info("Mail Sent.");

        } catch (MessagingException e) {
            throw e;
        }

    }

    private Properties setupMailEnv() {
        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.zoho.com");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class", javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "465");
        props.setProperty("mail.smtp.socketFactory.fallback", "false");
        props.put("mail.smtp.startssl.enable", "true");
        props.put("mail.smtp.starttls.enable", "false");
        return props;
    }

当我执行这个程序时,它给出了以下异常:

javax.mail.MessagingException: Can't send command to SMTP host;
  nested exception is:
    java.net.SocketException: Connection closed by remote host

我参考了 Zoho 论坛,但没有一个给出解决方案。我该如何解决这个问题?

【问题讨论】:

标签: java email jakarta-mail zoho


【解决方案1】:

我使用以下属性来调试错误:

props.put("mail.debug", "true");

问题出在发件人地址上。发件人地址应与中的地址匹配:

new PasswordAuthentication("sssxxxx@xxx.com", "xxxxx");

我更改了它,一切正常。

【讨论】:

    【解决方案2】:

    我代表 Zoho Mail 与您联系。

    请将 starttls.enable 设置为 True 并检查您是否能够发送邮件。还可以尝试使用端口号“587”并检查它是否有效。

    如果问题仍然存在,请发送电子邮件至 support[at]zohomail[dot]com,并附上完整的错误日志。还要提及您尝试发送邮件的 Zoho 电子邮件地址。这些信息将帮助我们进一步为您提供帮助。

    问候, 卡提克。

    【讨论】:

    • 感谢 Karthik,我自己解决了这个问题。请在下面查看我的答案。
    猜你喜欢
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    • 2018-06-30
    • 2013-02-15
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    • 2012-10-20
    相关资源
    最近更新 更多