共用电子邮件错误的附件名称

时间:2019-06-11 07:54:16

标签: java

我正在使用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上则是问题。

2 个答案:

答案 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);