MailEnvelope-Klasse

Stellt eine benutzerdefinierte E-Mail-Nachricht zum Senden des aktuellen Formulars als Anlage dar.

Vererbungshierarchie

System.Object
  Microsoft.Office.InfoPath.MailEnvelope

Namespace:  Microsoft.Office.InfoPath
Assembly:  Microsoft.Office.InfoPath (in Microsoft.Office.InfoPath.dll)

Syntax

'Declaration
Public MustInherit Class MailEnvelope
'Usage
Dim instance As MailEnvelope
public abstract class MailEnvelope

Hinweise

Die MailEnvelope-Klasse stellt Eigenschaften bereit, die für die programmgesteuerte Erstellung einer benutzerdefinierten E-Mail-Nachricht zum Anfügen und Senden des zurzeit geöffneten InfoPath-Formulars verwendet werden können. Nachdem E-Mail-Adressen und andere Eigenschaften angegeben wurden, werden durch das Festlegen der Visible-Eigenschaft der MailEnvelope-Klasse auf true die E-Mail-Nachrichtenfelder, die Symbolleiste Senden und der Aufgabenbereich E-Mail-Optionen zusammen mit dem Formular angezeigt, sodass die Benutzer die E-Mail-Nachricht vor dem Senden überprüfen und Änderungen oder Ergänzungen daran vornehmen können. Das Schreiben von Code zum Arbeiten mit einem MailEnvelope-Objekt entspricht der Verwendung des Befehls An E-Mail-Empfänger senden im Menü Datei beim Bearbeiten eines Formulars in InfoPath.

Hinweis

Die MailEnvelope-Klasse kann nicht zum Senden der von ihr erstellten E-Mail-Nachrichten verwendet werden. Benutzer müssen die Nachrichten manuell senden, indem sie in InfoPath auf die Schaltfläche Senden klicken.

Alternativ können Sie auch die ShowMailItem-Methode der View-Klasse verwenden, um eine E-Mail-Nachricht mit einem angefügten Formular programmgesteuert zu erstellen. Wenn die Formularvorlage für das Senden als E-Mail-Nachricht konfiguriert wurde, können Sie die Eigenschaften und Methoden der EmailSubmitConnection-Klasse verwenden, um das Formular programmgesteuert als E-Mail-Anlage zu erstellen und zu senden.

Beispiele

Im folgenden Beispiel wird die EmailSubmitConnection-Eigenschaft der Window-Klasse verwendet, um einen Verweis auf das MailEnvelope-Objekt für das aktuelle Formular festzulegen. Die Available-Eigenschaft wird verwendet, um zu bestimmen, ob das Formular in Microsoft Office Outlook 2007 geöffnet ist. In diesem Fall gibt die Available-Eigenschaft false zurück, und der folgende Code wird nicht ausgeführt. Wenn die Available-Eigenschaft true zurückgibt, ist das Formular in InfoPath geöffnet, und die Anfangswerte für Adresse, Betreff und Einleitung werden angegeben. Dann wird die EmailAttachmentType-Eigenschaft der MailEnvelope-Klasse verwendet, um die Nachricht so zu konfigurieren, dass sie sowohl die Formulardaten als auch die Formularvorlage enthält. Schließlich wird die Visible-Eigenschaft der MailEnvelope-Klasse auf true festgelegt, um die E-Mail-Nachrichtenfelder, die Symbolleiste Senden und den Aufgabenbereich E-Mail-Optionen anzuzeigen, damit der Benutzer die E-Mail-Nachricht von InfoPath aus senden kann.

// Set a reference to MailEnvelope object.
MailEnvelope myEnvelope = this.Application.ActiveWindow.MailEnvelope;

// Check to see if form is open in Outlook.
if (myEnvelope.Available)
{
   // Specify addresses, subject, and introduction.
   myEnvelope.To = "someone@example.com";
   myEnvelope.CC = "someone@example.com";
   myEnvelope.BCC = "someone@example.com";
   myEnvelope.Subject = "Open this form";
   myEnvelope.Introduction = "InfoPath is required to edit this form.";

   // Include form template with form.
   myEnvelope.EmailAttachmentType = EmailAttachmentType.XmlXsn;

   // Display form with e-mail envelope.
   myEnvelope.Visible = true;
}
else
{
   // The form is open in Outlook, and code will not run.
   MessageBox.Show("This form is open in Outlook.");
}
' Set a reference to MailEnvelope object.
Dim myEnvelope As MailEnvelope  = _
   Me.Application.ActiveWindow.MailEnvelope

' Check to see if form is open in Outlook.
If (myEnvelope.Available) Then
   ' Specify addresses, subject, and introduction.
   myEnvelope.To = "someone@example.com"
   myEnvelope.CC = "someone@example.com"
   myEnvelope.BCC = "someone@example.com"
   myEnvelope.Subject = "Open this form"
   myEnvelope.Introduction = "InfoPath is required to edit this form."

   ' Include form template with form.
   myEnvelope.EmailAttachmentType = EmailAttachmentType.XmlXsn

   ' Display form with e-mail envelope.
   myEnvelope.Visible = True
Else
   ' The form is open in Outlook, and code will not run.
   MessageBox.Show("This form is open in Outlook.")
End If

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.

Siehe auch

Referenz

MailEnvelope-Member

Microsoft.Office.InfoPath-Namespace