Clase MailEnvelope

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

Jerarquía de la herencia

System.Object
  Microsoft.Office.InfoPath.MailEnvelope

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

Sintaxis

'Declaración
Public MustInherit Class MailEnvelope
'Uso
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.

Ejemplos

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.
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

Seguridad para subprocesos

Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.

Vea también

Referencia

Miembros MailEnvelope

Espacio de nombres Microsoft.Office.InfoPath