Share via


SendMailTask Class

Sends an e-mail message. This class cannot be inherited.

Inheritance Hierarchy

System.Object
  Microsoft.SqlServer.Dts.Runtime.DtsObject
    Microsoft.SqlServer.Dts.Runtime.Task
      Microsoft.SqlServer.Dts.Tasks.SendMailTask.SendMailTask

Namespace:  Microsoft.SqlServer.Dts.Tasks.SendMailTask
Assembly:  Microsoft.SqlServer.SendMailTask (in Microsoft.SqlServer.SendMailTask.dll)

Syntax

'Declaration
Public NotInheritable Class SendMailTask _
    Inherits Task _
    Implements IDTSComponentPersist, IDTSSendMailTask, IDTSBreakpointSite, IDTSSuspend
'Usage
Dim instance As SendMailTask
public sealed class SendMailTask : Task, 
    IDTSComponentPersist, IDTSSendMailTask, IDTSBreakpointSite, IDTSSuspend
public ref class SendMailTask sealed : public Task, 
    IDTSComponentPersist, IDTSSendMailTask, IDTSBreakpointSite, IDTSSuspend
[<SealedAttribute>]
type SendMailTask =  
    class
        inherit Task
        interface IDTSComponentPersist
        interface IDTSSendMailTask
        interface IDTSBreakpointSite
        interface IDTSSuspend
    end
public final class SendMailTask extends Task implements IDTSComponentPersist, IDTSSendMailTask, IDTSBreakpointSite, IDTSSuspend

The SendMailTask type exposes the following members.

Constructors

  Name Description
Public method SendMailTask Initializes a new instance of the SendMailTask class.

Top

Properties

  Name Description
Public property BCCLine Gets or sets the e-mail addresses of the blind carbon copy recipients, delimited by semicolons when there is more than one.
Public property CCLine Gets or sets the e-mail addresses of the carbon copy recipients, delimited by semicolons when there is more than one.
Public property DebugMode Gets or sets a Boolean indicating whether the object is in debug mode, and whether it should raise the OnBreakpointHit event while running.
Public property ExecutionValue Returns a user-defined object. This field is read-only. (Inherited from Task.)
Public property FileAttachments Gets or sets the names of the files attached to the e-mail message, delimited by the pipe character (|) when there is more than one file.
Public property FromLine Gets or sets the e-mail address of the sender.
Public property MessageSource Gets or sets the message body or the name of the source that contains the message body.
Public property MessageSourceType Gets or sets a value containing the source type of the message body.
Public property Priority Gets or sets the priority of the message.
Public property SmtpConnection Gets or sets the name or IP address of the Simple Mail Transfer Protocol (SMTP) server.
Public property Subject Gets or sets the subject of the e-mail message.
Public property SuspendRequired Gets or sets a Boolean that indicates if tasks should suspend when they encounter a breakpoint. This value is set by the runtime engine for tasks and containers when a breakpoint is encountered.
Public property ToLine Gets or sets the e-mail addresses of the recipients, delimited by semicolons if there is more than one recipient.
Public property Version *** Member deprecated; see Remarks. ***    Returns the version of the task. This property is read-only. (Inherited from Task.)

Top

Methods

  Name Description
Public method AcceptBreakpointManager Passes a BreakpointManager to the Send Mail task. This method is called by the runtime and is not used in code.
Public method CanUpdate *** Member deprecated; see Remarks. ***    A Boolean that indicates whether the new package XML can update the old package XML. (Inherited from Task.)
Public method Equals Determines whether two object instances are equal. (Inherited from DtsObject.)
Public method Execute Executes the Send Mail task. (Overrides Task.Execute(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging, Object).)
Protected method Finalize (Inherited from Object.)
Public method GetConnectionID Gets a String containing the ID of the connection. (Inherited from Task.)
Public method GetConnectionName Gets a String containing the name of the connection. (Inherited from Task.)
Public method GetHashCode Returns the hash code for this instance. (Inherited from DtsObject.)
Public method GetType (Inherited from Object.)
Public method InitializeTask Initializes the properties associated with the task. This method is called by the runtime and is not used in code. (Overrides Task.InitializeTask(Connections, VariableDispenser, IDTSInfoEvents, IDTSLogging, EventInfos, LogEntryInfos, ObjectReferenceTracker).)
Public method LoadFromXML This method is not callable by your application code. To load a package saved as .xml, use the Application.LoadPackage method.
Protected method MemberwiseClone (Inherited from Object.)
Public method ResumeExecution Resumes execution of the task after pausing. The task or container is resumed by the runtime engine.
Public method SaveToXML This method is not callable by your application code. To save a package as .xml, use the Application.SaveToXml method.
Public method SuspendExecution Indicates that the executable needs to suspend. This method is called by the runtime engine.
Public method ToString (Inherited from Object.)
Public method Update *** Member deprecated; see Remarks. ***    This method updates the old package XML with the new package XML if CanUpdate is set to true. (Inherited from Task.)
Public method Validate Verifies that the task is properly configured. (Overrides Task.Validate(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging).)

Top

Remarks

By using the Send Mail task, a package can send notification messages when tasks in the package work flow succeed or fail. For more information, see Send Mail Task.

Examples

The following code sample creates, configures, and executes a new SendMailTask.

using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.SendMailTask;

class TestSendMailTask
{

  public static void Main()
  {

    Package pkg = new Package();

    ConnectionManager smtpCM;
    smtpCM = pkg.Connections.Add("SMTP");
    smtpCM.Name = "SMTP Connection Manager";
    smtpCM.ConnectionString = "smtphost";

    Executable exe = pkg.Executables.Add("STOCK:SendMailTask");
    TaskHost thSendMailTask = (TaskHost)exe;
    {
      thSendMailTask.Properties["SmtpConnection"].SetValue(thSendMailTask, "SMTP Connection Manager");
      thSendMailTask.Properties["ToLine"].SetValue(thSendMailTask, "someone1@example.com");
      thSendMailTask.Properties["CCLine"].SetValue(thSendMailTask, "someone2@example.com");
      thSendMailTask.Properties["BCCLine"].SetValue(thSendMailTask, "someone3@example.com");
      thSendMailTask.Properties["FromLine"].SetValue(thSendMailTask, "someone4@example.com");
      thSendMailTask.Properties["Priority"].SetValue(thSendMailTask, MailPriority.Normal);
      thSendMailTask.Properties["FileAttachments"].SetValue(thSendMailTask, "C:\\test_image.jpg");
      thSendMailTask.Properties["Subject"].SetValue(thSendMailTask, "Testing the SendMail Task");
      thSendMailTask.Properties["MessageSourceType"].SetValue(thSendMailTask, SendMailMessageSourceType.DirectInput);
      thSendMailTask.Properties["MessageSource"].SetValue(thSendMailTask, "This is only a test.");
    }

    DTSExecResult valResults = pkg.Validate(pkg.Connections, pkg.Variables, null, null);

    if (valResults == DTSExecResult.Success)
    {
      pkg.Execute();
    }

  }

}
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.SendMailTask

Module TestSendMailTask

  Sub Main()

    Dim pkg As New Package

    Dim smtpCM As ConnectionManager
    smtpCM = pkg.Connections.Add("SMTP")
    smtpCM.Name = "SMTP Connection Manager"
    smtpCM.ConnectionString = "smtphost"

    Dim exe As Executable = pkg.Executables.Add("STOCK:SendMailTask")
    Dim thSendMailTask As TaskHost = CType(exe, TaskHost)
    With thSendMailTask
      .Properties("SmtpConnection").SetValue(thSendMailTask, "SMTP Connection Manager")
      .Properties("ToLine").SetValue(thSendMailTask, "someone1@example.com")
      .Properties("CCLine").SetValue(thSendMailTask, "someone2@example.com")
      .Properties("BCCLine").SetValue(thSendMailTask, "someone3@example.com")
      .Properties("FromLine").SetValue(thSendMailTask, "someone4@example.com")
      .Properties("Priority").SetValue(thSendMailTask, MailPriority.Normal)
      .Properties("FileAttachments").SetValue(thSendMailTask, "C:\test_image.jpg")
      .Properties("Subject").SetValue(thSendMailTask, "Testing the SendMail Task")
      .Properties("MessageSourceType").SetValue(thSendMailTask, SendMailMessageSourceType.DirectInput)
      .Properties("MessageSource").SetValue(thSendMailTask, "This is only a test.")
    End With

    Dim valResults As DTSExecResult = pkg.Validate(pkg.Connections, pkg.Variables, Nothing, Nothing)

    If valResults = DTSExecResult.Success Then
      pkg.Execute()
    End If

  End Sub

End Module

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.