Smtp.NET 3 Documentation

SmtpServer.SendToQueue Property

Specifies whether to send messages to emailQ.

[Visual Basic]
Public Property SendToQueue As Boolean
[C#]
public bool SendToQueue {get; set;}

Property Value

True or False. The default is False.

Remarks

If this property is set to true, all messages will be sent to the queue directory that is specified with the QueueDirectory property or as specified in the registry under HKEY_LOCAL_MACHINE\SOFTWARE\EMAILQ\QueueDirectory. This property is provided as an alternative to giving the IUSR_MACHINENAME user access to the registry. ** Caveat to queuing logic: If the following conditions are met, then the message will be dropped in the PickupDirectory and NOT go through the queue: 1. SendToQueue is true 2. SendToPickupDirectory is true 3. QueueDateTime is not set or the date/time is in the past 4. PickupDirectory is set either explicitly, by setting the property or the IUSR_MACHINENAME user has access to the registry and an entry for PickupDirectory exists.

Example

[C#]
            public void Send()
            {
                 SmtpServer oSmtpDotNet = new SmtpServer();
             
                 // Set the remote server name.  If left blank, "localhost" is used.
                 oSmtpDotNet.ServerAddress = "mail.domain.com"
                 
                 // Message Addressing
                 oSmtpDotNet.ToAddress = "to@domain.com";
                 oSmtpDotNet.FromAddress = "from@domain.com";
             
                 // Set the message subject and body
                 oSmtpDotNet.Body = "This is the message";
                 oSmtpDotNet.Subject = "Routine email";
                 
                 // Send message to the Queue Directory
                 oSmtpDotNet.SendToQueue = true;
                 oSmtpDotNet.QueueDirectory = "C:\\Temp";
                 
                 // Force the message body to be html
                 oSmtpDotNet.BodyFormat = BodyFormatTypes.HTML;
                  
                 ReturnCodes nRC = oSmtpDotNet.Send();
                 if ( nRC != ReturnCodes.SUCCESS )
                 {
                      Console.WriteLine("Error #"+nRC+" occurred.");
                      Console.WriteLine(oSmtpDotNet.LastError);
                      Console.Write(oSmtpDotNet.LogFileToString(false));
                      return;
                 }
             
                 // Success!
                 Console.WriteLine("Success!");
            }
            
[VB]
            Public Function Send() As Integer
                 Dim oSmtpDotNet As New SmtpServer()
                 Dim nRC As ReturnCodes
            
                 ' Set the remote server name.  If left blank, "localhost" is used.
                 oSmtpDotNet.ServerAddress = "mail.domain.com"
                 
                 ' Message Addressing
                 oSmtpDotNet.FromAddress = "from@domain.com"
                 oSmtpDotNet.ToAddress = "to@domain.com"
                 
                 ' Set the message subject and body
                 oSmtpDotNet.Body = "This is the message"
                 oSmtpDotNet.Subject = "Routine email"
                 
                 ' Send message to the Queue Directory
                 oSmtpDotNet.SendToQueue = true
                 oSmtpDotNet.QueueDirectory = "C:\Temp"
                 
                 ' Force the message body to be html
                 oSmtpDotNet.BodyFormat = BodyFormatTypes.HTML
                  
                 ' Send the message.  Get the return code and store it in the variable
                 ' nRC.  Then check nRC for success or failure
                 nRC = oSmtpDotNet.Send()
                 If (nRC <> ReturnCodes.SUCCESS) Then
                     ' A problem occurred.
                     ' Write out the last error encountered
                     Console.WriteLine(oSmtpDotNet.LastError)
                     ' Write out the log file contents
                     Console.WriteLine(oSmtpDotNet.LogFileToString(False))
                     Exit Function
                 End If
            
                 ' Success!
                 Console.WriteLine("Message Sent!")
            End Function
            

See Also

SmtpServer Class | SmtpServer Members | SmtpDotNet Namespace | PickupDirectory | QueueDirectory | QueueDateTime | QueueFilenames | SendToPickupDirectory | RandomObject