Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我想使用java在outlook日历邀请中附加多个文件_Java_Email_Calendar_Attachment - Fatal编程技术网

我想使用java在outlook日历邀请中附加多个文件

我想使用java在outlook日历邀请中附加多个文件,java,email,calendar,attachment,Java,Email,Calendar,Attachment,我想使用java在日历邀请中附加多个文件。 目前,我可以使用html正文文本创建一个邀请,但我无法向该邀请添加附件 有人知道如何附加文件吗 我不会将邀请作为附件发送。这是正常的接受/拒绝方式 请尽快邮寄。 提前谢谢 代码如下: MimetypesFileTypeMap mimetypes = (MimetypesFileTypeMap) MimetypesFileTypeMap.getDefaultFileTypeMap(); mimetypes.addMimeTypes("te

我想使用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 = "XYZ@aBC.com";
    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;
没有错误,邀请函是用文本生成的,但主要问题是我需要邀请函内的附件,我无法在邀请函内附加文件,我不知道如何在邀请函内附加文件? 此外,我还需要在邀请中提供多个附件


提前感谢

您是否尝试过不手动设置附件标题?它们应该由MimeMessage设置。

如果您发布一些代码,并解释为什么您“无法”添加附件-错误消息、代码不起作用等,这会有所帮助。@Stuart我已经附加了代码,主要问题是,代码执行得很好,我收到了邀请,但问题是我没有收到文件附件。邀请上没有附件。是的,我没有设置标题,只设置了文件名和数据处理程序,但仍然是相同的场景,邀请正在生成,但没有任何附件。有什么线索可以解决这个问题吗??我急需这个。。如果您对此有任何帮助,我们将不胜感激。@Vishal我建议您使用已知有效的邮件,并从您的代码中重新创建它。谢谢,我创建了一个新的日历邀请,并尝试附加一个文档,但现在的问题是,当它附加文档时,它没有附加html文本部分。当我隐藏附件代码时,它会在邀请中使用html部分。因此,html文本和附件在邮件中不在一起。@staurt我发现了问题,它现在起作用了,问题是我正在将文件附加到buildHtmlTextPart之外。。但是附件应该在这个函数中,我们还需要使用包含所有bodypart的多部分设置bodypart的内容。最后我可以在邮件中看到附件和html内容。。谢谢你的回复,斯图尔特-