JavaMail vs Outlook

问题描述 投票:0回答:1

[尝试使用JavaMail发送带有附件的电子邮件。如果您通过浏览器查看该字母,则一切正常。如果通过Outlook查看该字母,则该字母以扩展名为.dat的文件形式出现。告诉我是什么问题?如何解决?

我的代码

public class MailMail{

    private JavaMailSender mailSender;
    private SimpleMailMessage simpleMailMessage;

    public void setSimpleMailMessage(SimpleMailMessage simpleMailMessage) {
        this.simpleMailMessage = simpleMailMessage;
    }

    public void setMailSender(JavaMailSender mailSender) {
        this.mailSender = mailSender;
    }

    void sendMAil4() throws EmailException {

        EmailAttachment attachment = new EmailAttachment();
        attachment.setPath("C:\\Users\\home\\Desktop\\отправка\\file.xlsx");
        attachment.setDisposition(EmailAttachment.ATTACHMENT);
        attachment.setDescription("Picture of John");
        attachment.setName("John");

        MultiPartEmail email = new MultiPartEmail();
        email.setHostName("smtp.yandex.ru");
        email.setSmtpPort(465);
        email.setAuthenticator(new DefaultAuthenticator("[email protected]", "12345678"));
        email.setFrom("[email protected]");
        email.setSubject("TestMail");
        email.setMsg("This is a test mail ... :-)");
        email.addTo("[email protected]");

        email.attach(attachment);

        email.send();

    }
}
email outlook javamail
1个回答
0
投票

[这通常在较旧的电子邮件客户端(例如Outlook 2007和2010)使用旧的RFC2047标准处理附件的文件名时发生。文件名中的特殊字符将不会被识别,附件将使用。bin。dat扩展名重命名。较新的RFC2231标准要求附件文件名中的任何空格和特殊字符都应转换为它们的MIME等效项。您可以升级Outlook客户端,也可以确保文件名不包含空格或特殊字符

© www.soinside.com 2019 - 2024. All rights reserved.