0

我正在为我的处理邮件应用程序编写测试。我正在使用 greenmail 进行测试,当我发送 mime 多部分消息(html 或文本)时一切正常。但是当我尝试发送带有附件的消息时(因为我需要带有附件的消息来测试我的处理方法)。我收到此错误。知道为什么会这样吗?否则接收和发送电子邮件没有问题。

Exception in thread "Thread-7" java.lang.RuntimeException: java.io.EOFException: Did not receive <CRLF>.<CRLF>
    at com.icegreen.greenmail.smtp.SmtpHandler.run(SmtpHandler.java:58)
    at com.icegreen.greenmail.server.AbstractServer$1.run(AbstractServer.java:101)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.EOFException: Did not receive <CRLF>.<CRLF>
    at com.icegreen.greenmail.mail.MovingMessage.readDotTerminatedContent(MovingMessage.java:107)
    at com.icegreen.greenmail.smtp.commands.DataCommand.execute(DataCommand.java:55)
    at com.icegreen.greenmail.smtp.SmtpHandler.handleCommand(SmtpHandler.java:97)
    at com.icegreen.greenmail.smtp.SmtpHandler.run(SmtpHandler.java:51)
    ... 2 more

and part of my code where I compose the message.

    List<String> attachList = new ArrayList<String>();
         attachList
         .add("/home/testattachments/attachment.txt");

    private  void createAttachPart(List<String> attachList,
            Multipart multipart) throws MessagingException, IOException {

        for (String path : attachList) {

            MimeBodyPart messageBodyPart = new MimeBodyPart();
            messageBodyPart.attachFile(path);
            messageBodyPart.setFileName(new File(path).getName());
            messageBodyPart.setDisposition(MimePart.ATTACHMENT);
            multipart.addBodyPart(messageBodyPart);

        }
    }
4

0 回答 0