SmtpClient.PostToRemoteQueueAsync Method


Sends an e-mail message to remote EASendMail Service queue.

[Visual Basic]
Public Sub PostToRemoteQueueAsync( _
    server As SmtpServer, _
    mail As SmtpMail, _
    instance As String, _
    url As String, _
    user As String, _
    password As String _
) As IAsyncAction
[C#]
public IAsyncAction PostToRemoteQueueAsync(
    SmtpServer server,
    SmtpMail mail,
    string instance,
    string url,
    string user,
    string password
);
[C++]
public: IAsyncAction^ PostToRemoteQueueAsync(
    SmtpServer^ server,
    SmtpMail^ mail,
    String^ instance,
    String^ url,
    String^ user,
    String^ password
);
[JScript]
public function PostToRemoteQueueAsync( 
    server : SmtpServer, 
    mail : SmtpMail,
    instance : String,
    url : String,
    user : String,
    password : String
): IAsyncAction;

Parameters

server
A SmtpServer instances used to send email.
mail
A SmtpMail instance to send.
instance
A String value used to specify EASendMail Service instance.
url
A String value used to specify EASendMail Service Remote Agent URL.
user
A String value used to specify Remote Agent URL user name (optional).
password
A String value used to specify Remote Agent URL password (optional).

Return Value

An IAsyncAction interface instance to represents an asynchronous action, you can use this return object to cancel current operation.

Remarks

EASendMail Service is a light and fast email delivery service which works with EASendMail SMTP .Net Component / ANSMTP SMTP Component to enable your application to send mass emails in background service. Along with its ability to picking recipients from database in background and sending email in specified datetime, it eases your task in developing featured email application such as newsletter application. We strongly recommend you to use EASendMail Service with your ASP/Web Application. To learn more detail about SendMailToQueue method, please refer to Work with EASendMail Service (Email Queuing) section.
If your appliation want to send email to EASendMail Service on local or remote server, you should use this method.
Before you use PostToRemoteQueue method, you should deploy EASendMail Service Agent on the remote server.

Example

[Visual Basic, C#, JavaScript] To get the full samples of EASendMail, please refer to Samples section.

[C# - Send single email to remote EASendMail Service queue]
using EASendMail;
using System.Threading.Tasks;

private async Task SendEmail()
{
    String Result = "";
    try
    {
        SmtpMail oMail = new SmtpMail("TryIt");
        SmtpClient oSmtp = new SmtpClient();

        // Set sender email address, please change it to yours 
        oMail.From = new MailAddress("test@emailarchitect.net");

        // Add recipient email address, please change it to yours
        oMail.To.Add(new MailAddress("support@emailarchitect.net"));

       // Add more recipient email address
       // oMail.To.Add(new MailAddress("supportex@emailarchitect.net"));

       // Add CC recipient email address
       // oMail.Cc.Add(new MailAddress("cc@emailarchitect.net"));

       // Add BCC recipient email address
       // oMail.Bcc.Add(new MailAddress("cc@emailarchitect.net"));

        // Set email subject
        oMail.Subject = "test email from C# XAML project";

        // Set email body
        oMail.TextBody = "this is a test email sent from Windows Store App, do not reply";

        // Your SMTP server address
        SmtpServer oServer = new SmtpServer("smtp.emailarchitect.net");

        // User and password for ESMTP authentication            
        oServer.User = "test@emailarchitect.net";
        oServer.Password = "testpassword";

        // If your SMTP server requires TLS connection on 25 port, please add this line
        // oServer.ConnectType = SmtpConnectType.ConnectSSLAuto;

        // If your SMTP server requires SSL connection on 465 port, please add this line
        // oServer.Port = 465;
        // oServer.ConnectType = SmtpConnectType.ConnectSSLAuto;

        await oSmtp.PostToRemoteQueueAsync(oServer, oMail, "", "http://192.168.0.1/eaagent/", "", "");
        Result = "Email was sent successfully!";
    }
    catch (Exception ep)
    {
        Result = String.Format("Failed to send email with the following error: {0}", ep.Message);
    }

    // Display Result by Diaglog box
    Windows.UI.Popups.MessageDialog dlg = new
        Windows.UI.Popups.MessageDialog(Result);
           
    await dlg.ShowAsync();
}

[VB - Send single email to remote EASendMail service queue - XAML]
Imports EASendMail

Private Async Function SendEmail() As Task
    Dim Result As String = ""
    Try

        Dim oMail As New SmtpMail("TryIt")
        Dim oSmtp As New SmtpClient()

        ' Set sender email address, please change it to yours
        oMail.From = New MailAddress("test@emailarchitect.net")

        ' Add recipient email address, please change it to yours
        oMail.To.Add(New MailAddress("support@emailarchitect.net"))

       ' Add more recipient email address
       ' oMail.To.Add(New MailAddress("supportex@emailarchitect.net"))

       ' Add CC recipient email address
       ' oMail.Cc.Add(New MailAddress("cc@emailarchitect.net"))

       ' Add BCC recipient email address
       ' oMail.Bcc.Add(New MailAddress("cc@emailarchitect.net"))

       ' Set email subject
        oMail.Subject = "test email from VB XAML project"

        ' Set email body
        oMail.TextBody = "this is a test email sent from Windows Store App, do not reply"

        ' Your SMTP server address
        Dim oServer As New SmtpServer("smtp.emailarchitect.net")

        ' User and password for ESMTP authentication            
        oServer.User = "test@emailarchitect.net"
        oServer.Password = "testpassword"

        ' If your SMTP server requires TLS connection on 25 port, please add this line
        ' oServer.ConnectType = SmtpConnectType.ConnectSSLAuto

        ' If your SMTP server requires SSL connection on 465 port, please add this line
        ' oServer.Port = 465
        ' oServer.ConnectType = SmtpConnectType.ConnectSSLAuto

        Await oSmtp.PostToRemoteQueueAsync(oServer, oMail, "", "http://192.168.0.1/eaagent/", "", "")
        Result = "Email was sent successfully!"

    Catch ep As Exception
        Result = String.Format("Failed to send email with the following error: {0}", ep.Message)
    End Try

    ' Display Result by Diaglog box
    Dim dlg As New Windows.UI.Popups.MessageDialog(Result)
    Await dlg.ShowAsync()
End Function


[JavaScript - Send single email to remote EASendMail Service queue - HTML5]
function sendMail() {
    var result = "";

    var oMail = new EASendMail.SmtpMail("TryIt");
    var oSmtp = new EASendMail.SmtpClient();

    // Set sender email address, please change it to yours 
    oMail.from = new EASendMail.MailAddress("test@emailarchitect.net");

    // Add recipient email address, please change it to yours
    oMail.to.add(new EASendMail.MailAddress("support@emailarchitect.net"));

    // Add more recipient email address
    // oMail.to.add(new EASendMail.MailAddress("supportex@emailarchitect.net"));

    // Add CC recipient email address
    // oMail.cc.add(new EASendMail.MailAddress("cc@emailarchitect.net"));

    // Add BCC recipient email address
    // oMail.bcc.add(new EASendMail.MailAddress("cc@emailarchitect.net"));

    // Set email subject
    oMail.subject = "test email from JavaScript HTML5 project";

    // Set email body
    oMail.textBody = "this is a test email sent from Windows Store App, do not reply";

    // Your SMTP server address
    var oServer = new EASendMail.SmtpServer("smtp.emailarchitect.net");

    // User and password for ESMTP authentication            
    oServer.user = "test@emailarchitect.net";
    oServer.password = "testpassword";

    // If your SMTP server requires TLS connection on 25 port, please add this line
    // oServer.connectType = EASendMail.SmtpConnectType.connectSSLAuto;

    // If your SMTP server requires SSL connection on 465 port, please add this line
    // oServer.port = 465;
    // oServer.connectType = EASendMail.SmtpConnectType.connectSSLAuto;

    oSmtp.postToRemoteQueueAsync(oServer, oMail, "", "http://192.168.0.1/eaagent/", "", "").then(function (e) {
        result = "Email was sent successfully!";

        // Display Result by Diaglog box
        (new Windows.UI.Popups.MessageDialog(result, "Success")).showAsync();
    },

    function (e) {
        // because javascript exception only gives the stack trace messages, but it is not
        // real description of exception, so we give a property lastErrorMessage for javascript.
        if (oSmtp.lastErrorMessage != "") {
            result = oSmtp.lastErrorMessage;
        }
        else {
            result = e.message;
        }
        oSmtp.close();

        // Display Result by Diaglog box
        (new Windows.UI.Popups.MessageDialog(result, "Error Information")).showAsync();
    });
}

See Also

SmtpClient.ConnectAsync Method
SmtpClient.QuitAsync Method
SmtpClient.ResetAsync Method

Online Tutorials

Send Email in VB - Windows Store App
Send Email in C# - Windows Store App
Send Email in JavaScript - Windows Store App