Я хочу прикрепить несколько файлов в приглашение календаря Outlook, используя java

Я хочу прикрепить несколько файлов к приглашению календаря, используя java. В настоящее время я могу создать приглашение с основным текстом html, но я не могу добавить вложения к этому приглашению.

Кто знает как прикреплять файлы.

Я не отправляю приглашение в виде вложения. Это происходит в обычном режиме принятия/отклонения.

Пожалуйста, опубликуйте как можно скорее. заранее спасибо

КОД СЛЕДУЮЩИЙ:

    MimetypesFileTypeMap mimetypes = (MimetypesFileTypeMap) MimetypesFileTypeMap.getDefaultFileTypeMap();
    mimetypes.addMimeTypes("text/calendar ics ICS");

    MailcapCommandMap mailcap = (MailcapCommandMap) MailcapCommandMap.getDefaultCommandMap();
    mailcap.addMailcap("text/calendar;; x-java-content-handler=com.sun.mail.handlers.text_plain");


    Properties props = new Properties();
    props.setProperty("mail.transport.protocol", "  ");
    props.setProperty("mail.host", mailServer);
    //props.setProperty("mail.user", "emailuser");
    //props.setProperty("mail.password", "");

    Session mailSession = Session.getDefaultInstance(props, null);


    MimeMessage message = new MimeMessage(mailSession);
    //message.addHeaderLine("text/calendar;method=REQUEST;charset=UTF-8");

  /*  String emailAddress = invite_email;
    String fullName = invite_name;*/

    String emailAddress = "[email protected]";
    String fullName = "ABCD";
    message.setFrom(new InternetAddress(replyEmail, replyEmailName));
    javax.mail.Address address = new InternetAddress(emailAddress, fullName);

    message.addRecipient(MimeMessage.RecipientType.TO, address);
    message.setSubject("abc" + invite_sub);

    // Create a Multipart
    Multipart multipart = new MimeMultipart("alternative");

    //part 1, html text
    BodyPart messageBodyPart = buildHtmlTextPart(team_id);
    multipart.addBodyPart(messageBodyPart);


    // Add part two, the calendar
    BodyPart calendarPart = buildCalendarPartNew(emailAddress , fullName , invite_sub , invite_uuid ,start_date , finish_date , invite_seq , invite_status , invite_timezone );
    multipart.addBodyPart(calendarPart);

    // Add attachments to the body


    multipart =  addAttachment(multipart,Req_List);


    //update the requisition id list back to " " once the attachment process is over
    Req_List = " ";

    // Put parts in message
    System.out.println("setting the content of message");
    message.setContent(multipart);



    // send message
    try {
        Transport transport = mailSession.getTransport();
        transport.connect();
        transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
        transport.close();
    }
    catch (Exception ex) {
        System.out.println(ex.toString());
        throw ex;
    }

ФУНКЦИЯ ПРИКРЕПЛЕНИЯ В ОСНОВНОМ СОДЕРЖИТ:

FileDataSource fds1 = new FileDataSource(sharepath_name);
        attachment.setDataHandler(new DataHandler(fds1));
attachment.setFileName(fds1.getName());
        attachment.setHeader("MIME-Version", "1.0");
        attachment.setHeader("Content-Type", " "+mime_type+ "; name=\"" + sharepath_name + "\"");
        attachment.setHeader("Content-Disposition", "attachment;          filename=\"" + sharepath_name + "\"");
        attachment.setHeader("Content-Transfer-Encoding", "base64");
        multipart.addBodyPart(attachment);
return multipart;

ошибки как таковой нет, приглашение генерируется с текстом, но основная проблема в том, что я хочу вложения внутри приглашения, я не могу прикреплять файлы внутри приглашения, я не знаю, как прикреплять файлы внутри приглашения ? Также вложения, которые мне нужны, чтобы предоставить несколько вложений внутри приглашения.

заранее спасибо


person vishal    schedule 18.05.2011    source источник
comment
Это поможет, если вы опубликуете код, а также объясните, почему вы «не можете» добавлять вложения — сообщение об ошибке, код не работает и т. д.   -  person stuartd    schedule 18.05.2011
comment
@Stuart, я прикрепил код, и основная проблема в том, что код выполняется нормально, я получаю приглашение, но проблема в том, что я не получаю вложения файлов. В приглашении нет вложений.   -  person vishal    schedule 18.05.2011


Ответы (1)


Вы пробовали без ручной настройки заголовков вложений? Они должны быть установлены MimeMessage.

person stuartd    schedule 18.05.2011
comment
да, я пробовал, не устанавливая заголовки и устанавливая только имя файла и обработчик данных, но все тот же сценарий, приглашение генерируется, но без каких-либо вложений. - person vishal; 18.05.2011
comment
любая подсказка, как решить это ?? мне нужно, чтобы это работало срочно. Любая помощь по этому поводу будет оценена.. - person vishal; 19.05.2011
comment
@Vishal Я бы предложил взять сообщение, которое, как известно, работает, и воссоздать его из вашего кода. - person stuartd; 19.05.2011
comment
спасибо, я создал новое приглашение календаря и попытался прикрепить документ, это сработало, но теперь проблема в том, что когда он прикрепляет документ, он не прикрепляет текстовую часть html. Когда я скрываю код вложения, он занимает часть html в приглашении. Таким образом, текст html и вложение не собираются вместе по почте. - person vishal; 19.05.2011
comment
@staurt я нашел проблему, и теперь она работает, проблема заключалась в том, что я прикрепляю файлы за пределами buildHtmlTextPart.. Но вложения должны быть внутри этой функции, также нам нужно установить содержимое bodypart с помощью составной части, которая содержит все части тела. так что, наконец, я могу видеть вложения и HTML-контент вместе по почте .. спасибо за ваш ответ, Стюарт. :-) - person vishal; 19.05.2011