java mail发送服务器上面的附件

    /**
     * 设置云附件,转发之类的,邮件附件本来就是在服务器上面呢
     *
     * @param filename----------文件路径,
     * name-------------文件名
     * @return
     */
    public boolean addCloudFileAffix(String filename, String name) {
        try {
            BodyPart bp = new MimeBodyPart();
            URL url= new URL(filename);
            DataSource dataSource=new URLDataSource(url);
            bp.setDataHandler(new DataHandler(dataSource));
            bp.setFileName(MimeUtility.encodeText(name));

            mp.addBodyPart(bp);
            return true;
        } catch (Exception e) {
            logger.error(filename, e);
            return false;
        }
    }

本地附件

    /**
     * 设置附件
     *
     * @param filename----------文件路径,
     * name-------------文件名
     * @return
     */
    public boolean addFileAffix(String filename, String name) {
        try {
            BodyPart bp = new MimeBodyPart();
            FileDataSource fileds = new FileDataSource(filename);
            bp.setDataHandler(new DataHandler(fileds));
            bp.setFileName(MimeUtility.encodeText(name));
            mp.addBodyPart(bp);
            return true;
        } catch (Exception e) {
            logger.error(filename, e);
            return false;
        }
    }

你可能感兴趣的:(后端)