| 

.NET C# Java Javascript Exception

2
Hallo,

ich würde mich über ein wenig Hilfe echt freuen.

Ich möchte in Outlook eine Serien-Mail versenden dazu nutze ich das folgende Codegerüst.

ich möchte die Mails aber mit einer errinerung ausstatten, füher ging das mal über den passus "RecipientsReminderTime" usw., bekomme es nicht hin :-((

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AVM.clasess
{
class MailIt
{
public void versendeMail()
{
Microsoft.Office.Interop.Outlook.NameSpace NSpace;
Microsoft.Office.Interop.Outlook.MAPIFolder MapiFolder;
Microsoft.Office.Interop.Outlook.Application OutApp;
Microsoft.Office.Interop.Outlook.MailItem MaiItem;
Microsoft.Office.Interop.Outlook.Attachments MailAttachments;
Microsoft.Office.Interop.Outlook.TaskItem errinerung;

OutApp = new Microsoft.Office.Interop.Outlook.Application();

NSpace = OutApp.GetNamespace("MAPI");

MapiFolder = NSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderSentMail);

MaiItem = (Microsoft.Office.Interop.Outlook.MailItem)MapiFolder.Items.Add(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);


// wichtigkeit der Mail
MaiItem.Importance = Microsoft.Office.Interop.Outlook.OlImportance.olImportanceHigh;

// versenden von einer Anderen zulässigen Mailadresse
MaiItem.SentOnBehalfOfName = "Alternative@Mail.com";

MaiItem.To ="O........@gmail.com";
MaiItem.Subject="die betreffzeile";

// Reminder für einen selber und grundsätzlicehe optionen
MaiItem.ReminderOverrideDefault = true;
MaiItem.ReminderSet = true;
MaiItem.ReminderPlaySound = true;
MaiItem.ReminderTime = Convert.ToDateTime("31.12.2012 13:00");

// ???
MaiItem.ToDoTaskOrdinal = Convert.ToDateTime(Convert.ToDateTime("31.12.2012 13:00"));


// so hießen sie füher RecipientsReminderTime

// MaiItem.Recipients.RecipientsReminderTime =Convert.ToDateTime("31.12.2012 13:00");

// Für Empfänger Kennzeichnen

// Ahhh ich finde nicht den richtigen befehl


MaiItem.Categories = "Meine Test categorie";

// wenn man möchte kann man noch Flaggen und Fälligkeit definieren
MaiItem.FlagRequest = "Bitte lesen ";
MaiItem.FlagStatus = Microsoft.Office.Interop.Outlook.OlFlagStatus.olFlagMarked;
MaiItem.FlagIcon = Microsoft.Office.Interop.Outlook.OlFlagIcon.olRedFlagIcon;
MaiItem.FlagDueBy = Convert.ToDateTime("31.12.2012 13:00");


// eine andere Antwortadresse zuordenen
MaiItem.ReplyRecipients.Add("AndereAntword@adresse.mail");

// Mailbody hier als html
MaiItem.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML;

MaiItem.HTMLBody = "DAs ist ein Test im body";

MaiItem.Attachments.Add(@"C:\1234567.txt");

//Anzeigen modal = true
MaiItem.Display(false);

// MaiItem.Save();
//Senden der Mail
MaiItem.Send();

}
}
}

Danke Olaf
News:
03.12.2012
OlafS 210 1 6
OlafS 210 1 6
3 Antworten
0
Hallo.

Ich habe eine Idee, habe sie aber nicht ausprobiert, aber vielleicht hilft es ja weiter.
Das Objekt MailItem hat eine Eigenschaft Recipients, welche wiederum eine Liste von MailItems beinhaltet. Vielleicht musst du für jeden Empfänger ein MailItem erstellen und bei jedem MailItem dann die Reminder-Optionen setzten.

Nur so als Idee mal in den Raum geworfen.

Gruß
Jörg
04.12.2012
multi1209 848 1 8
schau bitte noch ein mal
OlafS 05.12.2012
0
Soweit ich weiß benötigst Du dazu ein TaskItem. Du nutzt aber ein MailItem. Bei einem Taskitem steht Dir das gesuchte Propertie zur Verfügung. Einem Taskitem lassen sich ja auch (Mail)Empfänger zuordnen.

Ein Beispiel von MS:

private void AssignTaskExample()
{
Outlook.TaskItem task = Application.CreateItem(
Outlook.OlItemType.olTaskItem) as Outlook.TaskItem;
task.Subject = "Tax Preparation";
task.StartDate = DateTime.Parse("4/1/2007 8:00 AM");
task.DueDate = DateTime.Parse("4/15/2007 8:00 AM");
Outlook.RecurrencePattern pattern =
task.GetRecurrencePattern();
pattern.RecurrenceType = Outlook.OlRecurrenceType.olRecursYearly;
pattern.PatternStartDate = DateTime.Parse("4/1/2007");
pattern.NoEndDate = true;
task.ReminderSet = true;
task.ReminderTime = DateTime.Parse("4/1/2007 8:00 AM");
task.Assign();
task.Recipients.Add("accountant@example.com");
task.Recipients.ResolveAll();
task.Send();
}
04.12.2012
JEwen 2,7k 5
schau bitte noch ein mal
OlafS 05.12.2012
0
Hallo,
erst ein mal Danke für Eure Bemühungen.

Leider haut das alles nicht hin.

Das Taskitem steht nur mir selber nach abspeichern zur Verfügung,
MaiItem.MarkAsTask(Microsoft.Office.Interop.Outlook.OlMarkInterval.olMarkTomorrow);
, es muß dazu versand sein.

Ich möchte beim versenden der EMail für den Empfänger einen Reminder angeben.
Und es soll eine EMail bleiben da, ich ja nicht weis ob der Empfänger Outlook verwendet.

Ich habe eine Lösung, nur Automatic ist etwas anderes.

1. eine Mail mit allen Optionen die man dazu haben mag erzeugen
2. diese Mail als .msg auf dem LW speichern

3. den code wie folgt ändern
MaiItem = (Microsoft.Office.Interop.Outlook.MailItem)MapiFolder.Session.OpenSharedItem(@"C:\test.msg").Copy();

der Rest bleibt. ist aber auch nicht der weg ==> ist das Ziel

Mit der Zeile aktiviere ich ja die eigene nachverfolgung.
MaiItem.ReminderSet = true;


Ergo muss es doch auch eine Aktivierung für die Option
im Outlook Form Nachverfolgung Benuzerdefiniert
Für Empfänger Kennzeichnen und Errinerung geben.

was mir aufgefallen ist das diese beiden niergends in einer Dokumentation auftauchen .
MaiItem.FlagStatus = Microsoft.Office.Interop.Outlook.OlFlagStatus.olFlagMarked;
MaiItem.FlagIcon = Microsoft.Office.Interop.Outlook.OlFlagIcon.olRedFlagIcon;



Oder ganz anders kann mann in der Entwicklung sich das Item Objekt in der Überwachung Expotieren dann könnte mann den unterschied doch auch feststellen.

Habt Ihr eine Idee

Olaf
05.12.2012
OlafS 210 1 6

Stelle deine Outlook-Frage jetzt!