다음을 통해 공유


MailEnvelope 클래스

현재 양식을 첨부 파일로 보내기 위한 사용자 지정 전자 메일 메시지를 나타냅니다.

상속 계층 구조

System.Object
  Microsoft.Office.InfoPath.MailEnvelope

네임스페이스:  Microsoft.Office.InfoPath
어셈블리:  Microsoft.Office.InfoPath(Microsoft.Office.InfoPath.dll)

구문

‘선언
Public MustInherit Class MailEnvelope
‘사용 방법
Dim instance As MailEnvelope
public abstract class MailEnvelope

주의

MailEnvelope 클래스는 현재 열려 있는 InfoPath 양식을 첨부하고 보내기 위해 프로그래밍 방식으로 사용자 지정 전자 메일 메시지를 만드는 데 사용할 수 있는 속성을 제공합니다. 전자 메일 주소 및 다른 속성을 모두 지정한 후 MailEnvelope 클래스의 Visible 속성을 true로 설정하면 전자 메일 메시지 필드, 보내기 도구 모음, 메일 옵션 작업창 등이 양식과 함께 표시되므로 사용자가 전자 메일 메시지를 보내기 전에 내용을 검사하고 변경 또는 추가할 수 있습니다. MailEnvelope 개체로 작업하는 코드를 작성하는 것은 InfoPath에서 양식을 편집할 때 파일 메뉴의 전자 메일로 보내기 명령을 사용하는 것과 같습니다.

참고 사항참고 사항

MailEnvelope 클래스는 작성한 전자 메일 메시지를 보내는 데 사용할 수 없으므로 사용자가 InfoPath에서 보내기 단추를 클릭하여 수동으로 전자 메일 메시지를 보내야 합니다.

View 클래스의 ShowMailItem 메서드를 사용하여 양식이 첨부된 전자 메일 메시지를 프로그래밍 방식으로 만들 수도 있으며, 양식 서식 파일이 전자 메일 메시지로 전송되도록 구성된 경우에는 EmailSubmitConnection 클래스의 속성과 메서드를 사용하여 프로그래밍 방식을 통해 양식을 전자 메일 첨부 파일로 만들고 보낼 수 있습니다.

다음 예제에서는 Window 클래스의 EmailSubmitConnection 속성을 사용하여 현재 양식의 MailEnvelope 개체에 대한 참조를 설정하고 Available 속성을 사용하여 양식이 Microsoft Office Outlook 2007에 열려 있는지 여부를 확인합니다. 해당 양식이 Microsoft Office Outlook 2007에 열려 있으면 Available 속성에서 false를 반환하고 다음 코드가 실행되지 않습니다. 양식이 InfoPath에 열려 있는 경우에는 Available 속성에서 true를 반환하고 초기 주소, 제목 및 소개 값이 지정됩니다. 그런 다음 MailEnvelope 클래스의 EmailAttachmentType 속성을 사용하여 메시지에 양식 데이터와 양식 서식 파일이 모두 포함되도록 구성하고, 마지막으로 MailEnvelope 클래스의 Visible 속성을 true로 설정하여 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

스레드 보안

이 형식의 모든 공용 static (Visual Basic의Shared ) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수도 있습니다.

참고 항목

참조

MailEnvelope 멤버

Microsoft.Office.InfoPath 네임스페이스