我正在尝试使用

java发送每封电子邮件的日历邀请.收件人收到电子邮件,但该活动不会显示接受或拒绝的邀请,而是自动添加到他的日历中.

我正在使用ical4j.jar构建活动/邀请

private Calendar getInvite(Session session) {

Calendar calendar = new Calendar();

calendar.getProperties().add(Version.VERSION_2_0);

calendar.getProperties().add(Method.REQUEST);

VEvent event = new VEvent(

new DateTime(sesion.getStartDate()),

new DateTime(sesion.getEndDate()),

session.getName());

event.getProperties().add(Priority.MEDIUM);

event.getProperties().add(Clazz.PUBLIC);

try {

UidGenerator ug = new UidGenerator("uidGen");

Uid uid = ug.generateUid();

event.getProperties().add(uid);

} catch (SocketException e) {

// Log things

}

for (Participant participant : session.getParticipants()) {

Attendee attendee = new Attendee(URI.create("mailto:" + participant.getEmail()));

attendee.getParameters().add(Role.OPT_PARTICIPANT);

attendee.getParameters().add(new Cn(participant.getName()));

attendee.getParameters().add(PartStat.NEEDS_ACTION);

event.getProperties().add(attendee);

}

calendar.getComponents().add(event);

return calendar;

}

这就是我发送电子邮件的方式:

public void sendEmail(String fromMail, String toMail, String subject, String text, net.fortuna.ical4j.model.Calendar calendar) {

try {

Session session = Session.getInstance(getMailProperties(), new javax.mail.Authenticator() {

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(getUser(), getPassword());

}

});

MimeMessage mimeMessage = new MimeMessage(session);

mimeMessage.setHeader("Content-Transfer-Encoding:", "7bit");

Address address = new InternetAddress(fromMail);

mimeMessage.setFrom(address);

mimeMessage.setSentDate(Calendar.getInstance().getTime());

mimeMessage.setRecipients(Message.RecipientType.TO, toMail);

mimeMessage.setSubject(subject);

Calendar cal = Calendar.getInstance();

mimeMessage.setSentDate(cal.getTime());

Multipart multipart = new MimeMultipart("alternative");

// First part - HTML readable text

MimeBodyPart msgHtml = new MimeBodyPart();

msgHtml.setContent(text, "text/html; charset=UTF-8");

multipart.addBodyPart(msgHtml);

if (calendar != null) {

// Another part for the calendar invite

MimeBodyPart invite = new MimeBodyPart();

invite.setHeader("Content-Class", "urn:content- classes:calendarmessage");

invite.setHeader("Content-ID", "calendar_message");

invite.setHeader("Content-Disposition", "inline");

invite.setContent(calendar.toString(), "text/calendar");

multipart.addBodyPart(invite);

}

mimeMessage.setContent(multipart);

Transport.send(mimeMessage);

} catch (Exception e) {

// Log things

}

}

但是当我收到电子邮件(在Gmail中)时,我看不到邀请,该事件会自动添加到我的日历中.我只能通过点击日历中的活动来接受或拒绝.

我试图发送邀请,然后发生的是我收到一封带有ics附件的电子邮件.

我错过了什么?

java发送会议邀请邮件模板_使用java发送每封电子邮件的日历邀请相关推荐

  1. java 发送会议邮件模板_使用javamail发送会议邀请

    网上找了很多关于javamail发送会议请求的文章,终于成功了,没有使用ical4j,发送的outlook直接打开就是一个会议请求,而不是以附件的形式存在.具体的注意点在代码中以注释的形式标明. DE ...

  2. outlook邮件模板_在Outlook 2003中创建电子邮件模板

    outlook邮件模板 If you have an email you send out every day that contains the same information, or a for ...

  3. java发送会议邀请邮件模板_java mail text/calendar格式会议邀请邮件,网页版邮箱接收到的邮件内容无法换行...

    java中用mail进行会议邀请邮件(text/calendar格式)的发送,客户端邮箱正常显示,网页版邮箱正文部分无法换行如何解决buffer.append("BEGIN:VCALENDA ...

  4. Java发送会议邮件 时区_【上海校区】基于JavaMail的日历(会议)邮件发送实现

    [Java] 纯文本查看 复制代码/** * 发送会议邀请邮件 * * @param toMailAddress 收件人(邀约人),支持多个 * @param mailSubject 邮件主题 * @ ...

  5. outlook邮件模板_如何在Microsoft Outlook中创建和使用电子邮件模板

    outlook邮件模板 Email templates in Microsoft Outlook are easy to create, but not so easy to navigate to ...

  6. java写新闻模板_基于java新闻发布及管理系统

    基于java新闻发布及管理系统 java 2020-10-18 下载地址 https://www.codedown123.com/44681.html Java新闻发布系统新闻发布及管理系统就是一个能 ...

  7. java制作一个简单的画板_【Java】Thymeleaf一个简单示例

    Thymeleaf简单介绍 Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎 Spring官方支持的服务的渲染模板中,并不包含jsp.而是Thymeleaf和Freemar ...

  8. java下列语句正确的是_下列Java语句中,不正确的一项是( )。

    [多选题]装卸搬运机械具有( )功能 [判断题]char[] str="abcdefgh"; ( ) [单选题]7.关于内部类,下列说法不正确的是( ). [单选题]下列关于Jav ...

  9. java web开源项目源码_适合Java新手的开源项目集合——在 GitHub 学编程

    作者:HelloGitHub-老荀 当今互联网份额最大的编程语言是哪一个?是 Java!这两年一直有听说 Java 要不行了.在走下坡路了.没错,Java 的确在走下坡路,未来的事情的确不好说,但是瘦 ...

最新文章

  1. XAML实时显示更新插件LiveXAML
  2. 【Cocos2dx开发】精灵
  3. 控制台上的内容不输入到nohup.out
  4. Mysql的库与表的基本操作
  5. 我们真正需要的目标(原名:制定目标你会吗?)
  6. ==、Equals 、ReferenceEquals它们的异同
  7. 20155313 2016-2017-2《Java程序设计》课程总结
  8. docker run参数-v的rw、ro详解
  9. 学习笔记:Github(1)站在巨人的肩膀上
  10. 服务器linux攻击方法,Linux操作系统中实现DDOS攻击的方法
  11. 公共基础知识:地震逃生注意事项
  12. 今天找压缩算法,看到一段陈年往事
  13. promise解决回调地狱(callback hell)
  14. 中国“钱”途最光明10所大学
  15. 搭建springcloud微服务下的网关Netfilx Zuul
  16. R语言重复测量方差分析的多重比较
  17. C51单总线时序图分析与底层编程配置(DS18B20为例)
  18. 机票报价高并发实施的关键路径
  19. CentOS下用rinetd做端口转发
  20. InternetDownloadManager6.38.1(IDM)

热门文章

  1. nlp-with-transformers系列-02-从头构建文本分类器
  2. 2022学Django----基础五之Ajax
  3. VUE动态生成word
  4. UEFI EDK2 遇到的问题集合
  5. 数据中台当前与未来-数字化架构设计(1)
  6. kubernetes源码剖析读后感(二)
  7. http判断缓存是否有效,为什么有了last-modified还需要etag呢?
  8. 安卓常用6种设计模式总结
  9. 用计算机打字用哪种方法最好,打字高手练习(快速练习好电脑打字的方法)
  10. 爱上开源之一款查询docker容器启动命令的工具