我正在使用commons-email-1.2.jar
,但附件名称存在问题。
private static final String XML_ATTACHMENT_FILE_NAME = "Data.xml";
...
email.attach(ds, XML_ATTACHMENT_FILE_NAME, description, EmailAttachment.ATTACHMENT);
问题在于附件名称不是"Data.xml"
,而是与存储在数据库中的媒体名称有关的其他东西,在某种程度上与描述+文件扩展名有关。
有人遇到这个问题了吗?
更新: 在Windows(Outlook)上可以正常使用,但在Mac上则是问题。
答案 0 :(得分:0)
如果没有适当的日志,我不确定这里的问题,但是您可以尝试冗长的方法:
// Create the attachment
EmailAttachment attachment = new EmailAttachment();
attachment.setPath("foo/foo.jpg");
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("Picture");
attachment.setName("Foo");
// Create the email message
MultiPartEmail email = new MultiPartEmail();
email.setHostName("foo.myserver.com");
email.addTo("foo@bar.com", "Foo Bar");
email.setFrom("example@example.com", "Example");
email.setSubject("Picture");
email.setMsg("Message body example");
// add the attachment
email.attach(attachment);
// send the email
email.send();
答案 1 :(得分:0)
问题在于,在Mac和其他系统上,使用的是描述而不是附件名称,因此解决方案是在两个字段中都输入名称:
email.attach(ds, XML_ATTACHMENT_FILE_NAME, XML_ATTACHMENT_FILE_NAME, EmailAttachment.ATTACHMENT);