SendMailTask Class


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

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


public sealed class SendMailTask : Task, IDTSComponentPersist, 
	IDTSSendMailTask, IDTSBreakpointSite, IDTSSuspend


Initializes a new instance of the SendMailTask class.


Gets or sets the e-mail addresses of the blind carbon copy recipients, delimited by semicolons when there is more than one.


Gets or sets the e-mail addresses of the carbon copy recipients, delimited by semicolons when there is more than one.


Gets or sets a Boolean indicating whether the object is in debug mode, and whether it should raise the OnBreakpointHit event while running.


Returns a user-defined object. This field is read-only. (Inherited from Task.)


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.


Gets or sets the e-mail address of the sender.


Gets or sets the message body or the name of the source that contains the message body.


Gets or sets a value containing the source type of the message body.


Gets or sets the priority of the message.


Gets or sets the name or IP address of the Simple Mail Transfer Protocol (SMTP) server.


Gets or sets the subject of the e-mail message.


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.


(Inherited from Task.)


Gets or sets the e-mail addresses of the recipients, delimited by semicolons if there is more than one recipient.


*** Member deprecated; see Remarks. ***   Returns the version of the task. This property is read-only.(Inherited from Task.)


Passes a BreakpointManager to the Send Mail task. This method is called by the runtime and is not used in code.


*** Member deprecated; see Remarks. ***   A Boolean that indicates whether the new package XML can update the old package XML.(Inherited from Task.)


Determines whether two object instances are equal.(Inherited from DtsObject.)

System_CAPS_pubmethodExecute(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging, Object)
System_CAPS_pubmethodGetConnectionID(Connections, String)

Gets a String containing the ID of the connection.(Inherited from Task.)

System_CAPS_pubmethodGetConnectionName(Connections, String)

Gets a String containing the name of the connection.(Inherited from Task.)


Returns the hash code for this instance.(Inherited from DtsObject.)


(Inherited from Object.)

System_CAPS_pubmethodInitializeTask(Connections, VariableDispenser, IDTSInfoEvents, IDTSLogging, EventInfos, LogEntryInfos, ObjectReferenceTracker)

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

System_CAPS_pubmethodLoadFromXML(XmlElement, IDTSInfoEvents)

This method is not callable by your application code. To load a package saved as .xml, use the Application.LoadPackage method.


Resumes execution of the task after pausing. The task or container is resumed by the runtime engine.

System_CAPS_pubmethodSaveToXML(XmlDocument, IDTSInfoEvents)

This method is not callable by your application code. To save a package as .xml, use the Application.SaveToXml method.


Indicates that the executable needs to suspend. This method is called by the runtime engine.


(Inherited from Object.)


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

System_CAPS_pubmethodValidate(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging)

Verifies that the task is properly configured.(Overrides Task.Validate(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging).)

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.

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, "");
      thSendMailTask.Properties["CCLine"].SetValue(thSendMailTask, "");
      thSendMailTask.Properties["BCCLine"].SetValue(thSendMailTask, "");
      thSendMailTask.Properties["FromLine"].SetValue(thSendMailTask, "");
      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)



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

Return to top