Domino 9 und frühere Versionen > ND6: Entwicklung

Externe Einladungen per SMTP

<< < (2/2)

Wilhelm:
Hi,

wie Martin schon geschrieben hat. COM stellt hier eine brauchbare Lösung dar.
Du kannst die Lotus.Domino classes einbinden und darüber erstellst Du ein
NotesDocument und versiehst es mit den entsprechenden Feldern. Du kannst die Einladung über COM auch verschicken.

Einziger Nachteil: Auf dem PC, auf dem das ausgeführt wird, muss ein Notes-Client installiert sein. Dieser braucht nicht geöffnet zu sein, aber druff sein muss er.

Gruß

Willi

Onkel Domino:
Sorry, das hatte ich auf Martin's Post hin vergessen zu erwähnen:

Die .NET Anwendung und der Notes Empfänger sind nicht identisch. Es handelt sich um zwei räumlich getrennte Umgebungen. Kein COM oder OLE! Alles nur per eMail!

m3:

--- Zitat von: Onkel Domino am 17.05.06 - 11:07:53 ---Wenn ich ein iCal-Attachment schicke, dann bekomme ich in Notes eine eMail mit Dateianhang *.ics. Öffne ich diesen, dann habe ich die Möglichkeit den Termin zu "importieren". Sobald ich auf importieren klicke, bekomme ich ein eMail mit der gewünschten Einladung. Das ganze ist mir aber zu Umständlich.
--- Ende Zitat ---
Das ist ein "Problem" von Notes. Beschwerden an salzamt@lotus.ibm.com


--- Zitat ---Wenn ich eine Einladung mit dem Notes Client an eine fremde Domäne verschicke, dann erkennt das der entfernte Notes Client schließlich auch...
--- Ende Zitat ---
Siehe Voodoos Posting. Nur wenn kein SMTP-Server dazwischen liegt.


--- Zitat ---Selbst wenn ich eine Einladung per Outlook an einen Notes Client verschicke wird die Einladung direkt im Posteingang als solche erkannt. Ein Umweg über diese ics-Datei ist dort auch nicht notwendig.
--- Ende Zitat ---

Dann solltest Du Dir mal ansehen, was Outlook da verschickt. Da kommt nämlich auch nix anderes als ein iCal-File, allerdings mit ein paar Headern:

--- Code: ---------_=_NextPart_001_01C49A2F.31C4552F
Content-class: urn:content-classes:calendarmessage
Content-Type: text/calendar;
method=REQUEST;
name="meeting.ics"
Content-Transfer-Encoding: 8bit

BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:Microsoft CDO for Microsoft Exchange
VERSION:2.0
BEGIN:VTIMEZONE
TZID:GMT -0000 (Standard) / GMT +0100 (Daylight)
BEGIN:STANDARD
.....

--- Ende Code ---


Wenn man Notes kommentarlos ein iCal Fiel schickt, wirds so mühsam, wie von Dir oben beschrieben. Die MIME-Eintrag "Content-Type" dürfte da den Unterschied machen. Schau Dir mal so ein Outlook-Mail genauer an.

Onkel Domino:

--- Zitat von: m3 am 17.05.06 - 11:43:12 ---Dann solltest Du Dir mal ansehen, was Outlook da verschickt. Da kommt nämlich auch nix anderes als ein iCal-File, allerdings mit ein paar Headern:

--- Code: ---------_=_NextPart_001_01C49A2F.31C4552F
Content-class: urn:content-classes:calendarmessage
Content-Type: text/calendar;
method=REQUEST;
name="meeting.ics"
Content-Transfer-Encoding: 8bit

BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:Microsoft CDO for Microsoft Exchange
VERSION:2.0
BEGIN:VTIMEZONE
TZID:GMT -0000 (Standard) / GMT +0100 (Daylight)
BEGIN:STANDARD
.....

--- Ende Code ---


Wenn man Notes kommentarlos ein iCal Fiel schickt, wirds so mühsam, wie von Dir oben beschrieben. Die MIME-Eintrag "Content-Type" dürfte da den Unterschied machen. Schau Dir mal so ein Outlook-Mail genauer an.

--- Ende Zitat ---

Das wird der Springende Punkt sein...!

Allerdings bekomme ich den Header nicht richtig hin :-(

Folgender Code funktioniert in sofern nicht, dass ich wieder nur die eMail als Anhang bekomme und sie nicht als Einladung erkannt wird. Was mache ich falsch?

System.Web.Mail.MailMessage  MyMail = new System.Web.Mail.MailMessage();
               MyMail.From = from;
               MyMail.To   = to.Trim();
               MyMail.Subject = subject;
               MyMail.Body    = body;


MyMail.Headers.Add("Content-class", "urn:content-classes:calendarmessage");
               MyMail.Headers.Add("Content-Type", "text/calendar");
               MyMail.Headers.Add("method","REQUEST");
               MyMail.Headers.Add("name","attachment2");
               MyMail.Headers.Add("Content-Transfer-Encoding", "8bit");



               System.Web.Mail.MailAttachment MyAttachment2 = new System.Web.Mail.MailAttachment(attachment2);
               MyMail.Attachments.Add(MyAttachment2);


m3:
je ne en comprends VB.NET aucun.

Das, was ich da oben gepostet habe, ist KEIN Mail-Header, sondern der Content-Type des Anhanges innerhalb einer MIME/Multipart E-Mail.

Ich würde auf die System.Net.Mail und die Attachment Class tippen. Dort kannst Du auch den Content Type setzen. Die MSDN Library ist Dein Freund.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln