使用 Java 邮件 API。 javax.mail.MessagingException: 无法确定本地电子邮件地址异常

Using Java Mail API. javax.mail.MessagingException: can't determine local email address Exception

我正在使用 java 邮件 API 并且它在本地机器上工作正常但是当我在服务器上部署我的网络应用程序时,我收到一个异常 javax.mail.MessagingException: 无法确定本地电子邮件地址。

这是我的代码

Properties props = new Properties();
    props.put("mail.smtp.host", "smtp.gmail.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");

    try {
    Session session = Session.getInstance(props, new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication("fromEmailAdd@gmail.com", "fromEmailPass");
        }
    });

        MimeMessage message = new MimeMessage(session);
        message.addRecipient(Message.RecipientType.TO, new InternetAddress("to@gmail.com"));
        message.setSubject("sub");
        message.setText("msg");    
        Transport.send(message);

        System.out.println("mail sent successfully");
    } catch (Exception e) {
        e.printStackTrace();
        throw new RuntimeException(e);

    }

下面给出的是此代码抛出的异常。

javax.mail.MessagingException: can't determine local email address

邮件显示 "local email address is missing",这意味着发件人的电子邮件地址丢失。我想你可以尝试做这样的事情:

JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost("mail.host.com")

MimeMessage message = sender.createMimeMessage();

MimeMessageHelper helper = new MimeMessageHelper(message);
helper.setFrom("from@from.address");
helper.setTo("to@to.com");
helper.setText("testing text");

来自这个问题:

作者好像建议在没有设置from地址的情况下抛出这个异常

MimeMessage message = new MimeMessage(session);
message.addRecipient(Message.RecipientType.TO, new InternetAddress("to@gmail.com"));
message.setFrom("from@gmail.com"); // <-- add 'from' email address
message.setSubject("sub");
message.setText("msg");    
Transport.send(message);