java - 通过 Java 发送邮件时出现异常

标签 java email jakarta-mail

Java发送邮件时出现异常

异常(exception)是::

Exception in thread "main" java.lang.NoSuchMethodError: 
com.sun.mail.util.LineOutputStream.<init>(Ljava/io/OutputStream;Z)V
at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1648)
at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1906)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1134)
at javax.mail.Transport.send0(Transport.java:255)
at javax.mail.Transport.send(Transport.java:124)
at com.yodlee.SendMail.sendMail(SendMail.java:78)
at com.yodlee.SendMail.main(SendMail.java:32)

这是 Java 代码::

    Properties props = new Properties();
    props.put(SMTP_HOST_KEY,SMTP_HOST);

    Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(".....",
                    "#.......");
        }
    });

    try {
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(RECIPIENT_FROM));
        message.setSubject(SUBJECT);
        message.setSentDate(new Date());
        //message.setText("Test mails111");


        MimeBodyPart messageBodyPart = new MimeBodyPart();

        messageBodyPart.setContent(data, "text/html");
        Multipart multipart = new MimeMultipart();
        multipart.addBodyPart(messageBodyPart);
        message.setContent(multipart);
        Transport.send(message);
        System.out.println("Done");
    } catch (MessagingException e) {
        status = -1;
        throw new RuntimeException(e);
    }

我在 Transport.send(msg) 时遇到错误; 我在这里使用的 jar ::smtp 1.6.0,Javax Mail 1.4.7,mailactivation

最佳答案

您的类路径中很可能有多个版本的 JavaMail 类。检查所有依赖项和应用程序服务器环境是否存在冲突。如果不止一个 jar 文件包含 javax.mail.* 或 com.sun.mail.* 类,您就有问题了。

并确保修复所有这些 common JavaMail mistakes , 并且一定要使用 latest version of JavaMail .

关于java - 通过 Java 发送邮件时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48276701/

相关文章:

java - 使用 Jsoup 将子元素内的换行符替换为 <br>

java - 从命令行 Linux 运行 Java 程序

JAVA-如何动态地将字符串值分配给字符串数组

php - gmail 无法正确显示我的消息

java - Jetty,强制 Web 应用程序使用与服务器 lib/jndi 中包含的 javax.mail 不同的 javax.mail

Java方法定义问题

java - GMail 将链接参数转换为错误的格式

java - 如何使用 javamail 将我网站的联系表单链接到我的邮件

java - 如何在 Java 中从一个字符集解码文本并将其转换为另一个字符集?

swift - Firebase 使用 "Optional()"包装器包装用户信息