我发送带附件的邮件,但是当我尝试打开文件时,它没有打开并发出以下错误:
我尝试这样做:
JavaMailSenderImpl mailSender = getMailSender();
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper;
URLDataSource url;
try {
helper = new MimeMessageHelper(message, true);
url = new URLDataSource(new URL("localhost:8080/test/attachment/simpldoc.docx"));
helper.setFrom(mailFrom);
helper.setSubject(subject);
helper.setTo(mailTo);
helper.setText(text, true);
helper.addAttachment(attachmentName, url);
mailSender.send(message);
}
catch (MessagingException e) {
e.printStackTrace();
}
答案 0 :(得分:0)
您正在尝试将url对象作为附件传递。
您可以使用url.getOutputStream()打开流,然后在附加文件之前写入文件对象。
所有这一切都很糟糕。
您应该使用File来获取相关文件。
所以替换
URLDataSource url;
//Code
url = new URLDataSource(new URL("localhost:8080/test/attachment/simpldoc.docx"));
带
File url;
//Code
url = new File("file://localhost:8080/test/attachment/simpldoc.docx")
那应该返回实际文件并将其存储在url对象中。
放手一搏。