MailEnvelope (Clase)

Representa un mensaje de correo electrónico personalizado para enviar el formulario actual como datos adjuntos.

Espacio de nombres: Microsoft.Office.InfoPath
Ensamblado: Microsoft.Office.InfoPath (en microsoft.office.infopath.dll)

Sintaxis

Public MustInherit Class MailEnvelope

Dim instance As MailEnvelope
public abstract class MailEnvelope

Comentarios

La clase MailEnvelope proporciona propiedades para crear mediante programación un mensaje de correo electrónico que adjunte y envíe el formulario de InfoPath abierto en ese momento. Una vez que se han especificado las direcciones de correo electrónico y otras propiedades, si se establece la propiedad Visible de la clase MailEnvelope en true, se mostrarán los campos del mensaje de correo electrónico, la barra de herramientas Enviar y el panel de tareas Opciones de correo junto con el formulario, para que los usuarios puedan revisar y corregir el mensaje de correo electrónico antes de enviarlo. La escritura de código para que funcione con un objeto MailEnvelope equivale a usar el comando Enviar a destinatario de correo del menú Archivo al editar un formulario en InfoPath.

Nota:

La clase MailEnvelope no se puede utilizar para enviar los mensajes de correo electrónico que crea, sino que el usuario deberá enviarlos manualmente haciendo clic en el botón Enviar de InfoPath.

También puede utilizar el método ShowMailItem del objeto View para crear mensajes de correo electrónico mediante programación. Si la plantilla de formulario se ha configurado para su envío como mensaje de correo electrónico, puede usar las propiedades y lod métodos de la clase EmailSubmitConnection para crear y enviar mediante programación el formulario como archivo de datos adjuntos de un mensaje de correo electrónico.

Ejemplo

En el ejemplo siguiente, se usa la propiedad EmailSubmitConnection de la clase Window para establecer una referencia al objeto MailEnvelope del formulario actual. La propiedad Available se usa para determinar si el formulario se abre en Microsoft Office Outlook 2007. Si es así, la propiedad Available devolverá false y el código siguiente no se ejecutará. Si la propiedad Available devuelve true, el formulario se abre en InfoPath y se especifican los valores iniciales de dirección, asunto e introducción. A continuación, se usa la propiedad EmailAttachmentType de la clase MailEnvelope para configurar el mensaje de manera que incluya los datos del formulario y la plantilla de formulario. Por último, la propiedad Visible de la clase MailEnvelope se establece en true para mostrar al usuario los campos del mensaje de correo electrónico, la barra de herramientas Enviar y el panel de tareas Opciones de correo para enviar el mensaje de correo electrónico desde InfoPath.

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

// Check to see if form is open in Outlook 2007.
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 2007, and code will not run.
   MessageBox.Show("This form is open in Outlook 2007.");
}
' Set a reference to MailEnvelope object.
Dim myEnvelope As MailEnvelope  = _
   Me.Application.ActiveWindow.MailEnvelope;

' Check to see if form is open in Outlook 2007.
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 2007, and code will not run.
   MessageBox.Show("This form is open in Outlook 2007.")
End If

Jerarquía de herencia

System.Object
  Microsoft.Office.InfoPath.MailEnvelope

Seguridad de subprocesos

Todos los miembros estáticos públicos (compartidos en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancia sean seguros para los subprocesos.

Vea también

Referencia

MailEnvelope (Miembros)
Microsoft.Office.InfoPath (Espacio de nombres)