Отправить письмо с приглашением на собрание через механизм приложений Google

я хочу отправить приглашения на встречу iCalendar. Я использую движок Google App, Java. Мне удалось отправить письмо с файлом iCalendar в качестве вложения, но такие программы, как Outlook, не распознают его автоматически как приглашение на встречу.

Я полагаю, что мне нужно установить тип содержимого attachment на: "text/calendar; method=REQUEST", но мне кажется, что GAE не принимает это?

Обновление: выше я ошибся. На самом деле я обнаружил, что мне нужно отправлять почту с частью iCalendar напрямую в содержимом, а не в виде вложения! Итак, моя проблема в том, что GAE, похоже, не принимает установку типа содержимого самого сообщения.

Кто-нибудь успешно отправил элемент iCalendar приглашения на собрание по почте с помощью GAE?

Обновление:

Я понимаю, я должен быть более конкретным. На самом деле, я хочу отправлять сообщения iMip. Сообщения iMip не являются составными, их тип содержимого — «текст/календарь». А в случае отправки приглашения на встречу это будет "текст/календарь;метод=ЗАПРОС". Итак, я попробовал это:

Message msg = new MimeMessage(session);
msg.setContent(iCalendarAsString, "text/calendar;method=REQUEST");

Затем я отправляю сообщение с помощью Transport.send(..);

В журналах на сервере разработки GAE я вижу, что тип контента - «текстовый/обычный». вот почему я сказал, я думаю, что GAE не принимает установку другого типа контента.

Или я ошибаюсь?

Обновление 2

Хорошо, вот полный код:

Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);


try {
    Message msg = new MimeMessage(session);

    msg.setFrom(new InternetAddress("[email protected]", "SomeApp"));
    msg.addRecipient(Message.RecipientType.TO,
            new InternetAddress("[email protected]", "Sven Busse"));
    msg.setSubject("meeting invitation!");
    msg.setContent(iCalendarAsString, "text/calendar;method=REQUEST");

    Transport.send(msg);

} catch (AddressException e) {
    log.warning(e.toString());
    e.printStackTrace();
} catch (MessagingException e) {
    log.warning(e.toString());
    e.printStackTrace();
} catch (UnsupportedEncodingException e) {
    log.warning(e.toString());
    e.printStackTrace();
}

Итак, я установил тип содержимого на «текст/календарь; метод = ЗАПРОС». И как только я отправлю, это журналы:

14.09.2011 09:52:59 com.google.appengine.api.mail.dev.LocalMailService log
INFO: MailService.send
INFO:   From: SomeApp <[email protected]>
INFO:   To: Sven Busse <[email protected]>
INFO:   Reply-to: SomeApp <[email protected]>
INFO:   Subject: meeting invitation!
INFO:   Body:
INFO:     Content-type: text/plain
INFO:     Data length: 458

Итак, логи выглядят не очень красиво, но вы видите, что тип содержимого изменился на «текстовый/обычный».

Обновление 3:

Delivered-To: [email protected]
Received: by 10.68.59.7 with SMTP id v7cs112540pbq;
        Thu, 15 Sep 2011 07:45:55 -0700 (PDT)
Received: by 10.52.95.44 with SMTP id dh12mr1121151vdb.20.1316097954738;
        Thu, 15 Sep 2011 07:45:54 -0700 (PDT)
Return-Path: <3oQ9yTgoJCgIdqqmngvqpciockn.eqouxgp.dwuugiqqingockn.eqo@2uix4h7xygsz66weerlq.apphosting.bounces.google.com>
Received: from mail-vw0-f69.google.com (mail-vw0-f69.google.com [209.85.212.69])
        by mx.google.com with ESMTPS id o9si1579035vcv.136.2011.09.15.07.45.53
        (version=TLSv1/SSLv3 cipher=OTHER);
        Thu, 15 Sep 2011 07:45:53 -0700 (PDT)
Received-SPF: pass (google.com: domain of 3oQ9yTgoJCgIdqqmngvqpciockn.eqouxgp.dwuugiqqingockn.eqo@2uix4h7xygsz66weerlq.apphosting.bounces.google.com designates 209.85.212.69 as permitted sender) client-ip=209.85.212.69;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of 3oQ9yTgoJCgIdqqmngvqpciockn.eqouxgp.dwuugiqqingockn.eqo@2uix4h7xygsz66weerlq.apphosting.bounces.google.com designates 209.85.212.69 as permitted sender) smtp.mail=3oQ9yTgoJCgIdqqmngvqpciockn.eqouxgp.dwuugiqqingockn.eqo@2uix4h7xygsz66weerlq.apphosting.bounces.google.com
Received: by vws20 with SMTP id 20so3831617vws.4
        for <[email protected]>; Thu, 15 Sep 2011 07:45:53 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.236.187.1 with SMTP id x1mr5481998yhm.8.1316097953249; Thu, 15
 Sep 2011 07:45:53 -0700 (PDT)
Reply-To: SomeApp <[email protected]>
X-Google-Appengine-App-Id: someapp
Message-ID: <[email protected]>
Date: Thu, 15 Sep 2011 14:45:53 +0000
Subject: meeting invitation!
From: SomeApp <[email protected]>
To: Sven Busse <[email protected]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes

BEGIN:VCALENDAR
PRODID:-//Ben Fortuna//iCal4j 1.0//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTAMP:20110915T144552Z
UID:[email protected]
SUMMARY:tolles projekt\, macht viel spass.
DTSTART;VALUE=DATE:20110919
DTEND;VALUE=DATE:20110926
DESCRIPTION:tolles projekt\, macht viel spass.
ATTENDEE;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:[email protected]
ORGANIZER:mailto:[email protected]
END:VEVENT
END:VCALENDAR

person ghost23    schedule 09.09.2011    source источник
comment
извините за то, что я слишком нечеткий, обновил мое объяснение.   -  person ghost23    schedule 13.09.2011
comment
Вы все еще не включаете свой полный код. Это фрагмент всего сообщения, которое вы создаете и отправляете, или только часть вложения? Вам необходимо включить весь код, относящийся к отправке электронной почты, а также копию записей журнала и выходное сообщение электронной почты из журналов.   -  person Nick Johnson    schedule 14.09.2011
comment
Пока я пишу это, я понимаю, что мое первоначальное объяснение было полностью ошибочным. Я не хочу отправлять iCalendar в виде вложения, а прямо в теле, потому что только так MS Outlook показывает почту прямо как приглашение на встречу.   -  person ghost23    schedule 14.09.2011
comment
Хм. Это может быть ошибка на сервере приложений разработчиков. Вы пытались развернуть его и изучить полученное сообщение?   -  person Nick Johnson    schedule 15.09.2011
comment
еще нет, но сегодня попробую.   -  person ghost23    schedule 15.09.2011
comment
хорошо, попробовал и да, это то же самое на стороне производства.   -  person ghost23    schedule 15.09.2011
comment
Можете ли вы включить необработанное тело письма, которое вы получили, в свой вопрос?   -  person Nick Johnson    schedule 15.09.2011
comment
о боже, почему в Message нет простого способа сделать дамп в виде строки. Выполнено.   -  person ghost23    schedule 15.09.2011
comment
у меня такая же проблема. пожалуйста, помогите мне   -  person Nuwan    schedule 26.01.2012


Ответы (1)


Может быть, вам следует подумать об использовании сервиса, такого как http://context.io/?

(не аффилированный!)

person koma    schedule 29.01.2013