在邮件中循环发送文件

时间:2016-01-21 07:29:40

标签: java multithreading email

我要求将不同的xls文件发送到不同的电子邮件。 所以我创建了一个循环,我正在执行两个动作

1)在temp中创建文件 2)将此文件附加到邮件消息并发送给它。

我的问题是文件已成功创建,但我在xls中收到没有数据的空白文件。

我生成文件的代码如下,

//in a for loop
    fos = new FileOutputStream(path1);
                    wb.write(fos); //I think writing is in progress and while file is sent in mail hence getting blank

                    destination = new File(path1);
                    InternetAddress to = null;


                to = new InternetAddress("abc@gmail.com",StringPool.BLANK);
                MailMessage message=new MailMessage(to,to, "temp", createEmailBody(email,numberOfuser), true);
                message.addFileAttachment(destination);
                MailServiceUtil.sendEmail(message);

1 个答案:

答案 0 :(得分:0)

在发送之前执行wb.flush()wb.close()并设置断点以在发送之前检查文件是否已写入。希望它有所帮助。