Как прикрепить несколько файлов к электронной почте с помощью JavaMail? - PullRequest
32 голосов
/ 05 июля 2010

Следующий Java-код используется для прикрепления файла к электронному письму.Я хочу отправить несколько файлов вложения по электронной почте.Любые предложения будут оценены.

public class SendMail {

    public SendMail() throws MessagingException {
        String host = "smtp.gmail.com";
        String Password = "mnmnn";
        String from = "xyz@gmail.com";
        String toAddress = "abc@gmail.com";
        String filename = "C:/Users/hp/Desktop/Write.txt";
        // Get system properties
        Properties props = System.getProperties();
        props.put("mail.smtp.host", host);
        props.put("mail.smtps.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        Session session = Session.getInstance(props, null);

        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.setRecipients(Message.RecipientType.TO, toAddress);
        message.setSubject("JavaMail Attachment");
        BodyPart messageBodyPart = new MimeBodyPart();
        messageBodyPart.setText("Here's the file");
        Multipart multipart = new MimeMultipart();
        multipart.addBodyPart(messageBodyPart);
        messageBodyPart = new MimeBodyPart();
        DataSource source = new FileDataSource(filename);
        messageBodyPart.setDataHandler(new DataHandler(source));
        messageBodyPart.setFileName(filename);
        multipart.addBodyPart(messageBodyPart);
        message.setContent(multipart);

        try {
            Transport tr = session.getTransport("smtps");
            tr.connect(host, from, Password);
            tr.sendMessage(message, message.getAllRecipients());
            System.out.println("Mail Sent Successfully");
            tr.close();
        } catch (SendFailedException sfe) {
            System.out.println(sfe);
        }
    }
}` 

Ответы [ 11 ]

0 голосов
/ 09 января 2014
 Multipart multipart = new MimeMultipart("mixed");

        for (int alen = 0; attlen < attachments.length; attlen++) 
        {

            MimeBodyPart messageAttachment = new MimeBodyPart();    
            fileName = ""+ attachments[attlen];


            messageAttachment.attachFile(fileName);
            messageAttachment.setFileName(attachment);
            multipart.addBodyPart(messageAttachment);

        }
...