Sends an e-mail message to remote EASendMail Service.
[Visual Basic]
Public Sub PostToRemoteQueue(
server As SmtpServer, _
mail As SmtpMail, _
instance As String, _
url As String, _
user As String, _
password As String _
)
[C#]
public void PostToRemoteQueue(
SmtpServer server,
SmtpMail mail,
string instance,
string url,
string user,
string password
);
[C++]
public: void PostToRemoteQueue(
SmtpServer^ server,
SmtpMail^ mail,
String^ instance,
String^ url,
String^ user,
String^ password
);
[JScript]
public function PostToRemoteQueue(
server : SmtpServer,
mail : SmtpMail,
instance : String,
url : String,
user : String,
password : String
);
Parameters
Remarks
Example
[Visual Basic, C#] The following example demonstrates how to send email with EASendMail SMTP Component. To get the full samples of EASendMail, please refer to Samples section.
[VB - Send Email to Queue]
Imports EASendMail
Public Sub SendMailToQueue(sender As String,
recipient As String,
subject As String)
Try
Dim oMail As SmtpMail = New SmtpMail("TryIt")
oMail.From = New MailAddress(sender)
' Separate multiple addresses by comma(,)
oMail.To = New AddressCollection(recipient)
' To avoid too many email addresses appear in To header, using the
' following code only display the current recipient
oMail.Headers.ReplaceHeader("To", """{$var_rcptname}"" <{$var_rcptaddr}>")
oMail.Headers.ReplaceHeader("X-Rcpt-To",
oMail.To.ToEncodedString(HeaderEncodingType.EncodingAuto, "utf-8"))
oMail.Subject = subject
oMail.TextBody = "Dear {$var_rcptname}, your email address is {$var_rcptaddr}"
' If you want EASendMail service to send the email after 10 minutes, use the following code.
' you can also cancel the scheduled task in EASendMail Service Manager->Queue Monitor->Scheduled Tasks
' oMail.Date = System.DateTime.Now.AddMinutes(10)
' Your SMTP server address, if you don't set server,
' EASendMail service uses the server setting in EASendMail Service Manager.
Dim oServer As New SmtpServer("smtp.emailarchitect.net")
' User and password for ESMTP authentication
oServer.User = "test@emailarchitect.net"
oServer.Password = "testpassword"
' If server supports SSL/TLS connection, SSL/TLS is used automatically.
oServer.ConnectType = SmtpConnectType.ConnectTryTLS
Dim oSmtp As SmtpClient = New SmtpClient()
oSmtp.PostToRemoteQueue(oServer, oMail, "", "http://192.168.0.1/eaagent/", "", "")
' If you want to use SMTP server setting in EASendMail Service Manager, use
' oSmtp.PostToRemoteQueue(Nothing, oMail, "", "http://192.168.0.1/eaagent/", "", "")
Console.WriteLine("The message was sent to EASendMail Service successfully!")
Catch exp As Exception
Console.WriteLine("Exception: Common: {0}, please make sure you installed EASendMail Service on the server!", exp.Message)
End Try
End Sub
[C# - Send Email to Queue]
using System;
using System.Collections;
using EASendMail;
public void SendMailToQueue(string sender,
string recipient,
string subject)
{
try
{
SmtpMail oMail = new SmtpMail("TryIt");
oMail.From = sender;
// Separate multiple addresses by comma(,)
oMail.To = recipient;
// To avoid too many email addresses appear in To header,
// use following code only display the current recipient
oMail.Headers.ReplaceHeader("To", "\"{$var_rcptname}\" <{$var_rcptaddr}>");
oMail.Headers.ReplaceHeader("X-Rcpt-To",
oMail.To.ToEncodedString(HeaderEncodingType.EncodingAuto, "utf-8"));
oMail.Subject = subject;
oMail.TextBody = "Dear {$var_rcptname}, your email address is {$var_rcptaddr}";
// If you want EASendMail service to send the email after 10 minutes, use the following code.
// you can also cancel the scheduled task in EASendMail Service Manager->Queue Monitor->Scheduled Tasks
// oMail.Date = DateTime.Now.AddMinutes(10);
// Your SMTP server address, if you don't set server,
// EASendMail service uses the server setting in EASendMail Service Manager.
SmtpServer oServer = new SmtpServer("smtp.emailarchitect.net");
// User and password for ESMTP authentication
oServer.User = "test@emailarchitect.net";
oServer.Password = "test";
// Most mordern SMTP servers require SSL/TLS connection now.
// ConnectTryTLS means if server supports SSL/TLS, SSL/TLS will be used automatically.
oServer.ConnectType = SmtpConnectType.ConnectTryTLS;
SmtpClient oSmtp = new SmtpClient();
oSmtp.PostToRemoteQueue(oServer, oMail, "", "http://192.168.0.1/eaagent/", "", "");
// If you want to use SMTP server setting in EASendMail Service Manager, use
// oSmtp.PostToRemoteQueue(null, oMail, "", "http://192.168.0.1/eaagent/", "", "");
Console.WriteLine("The message was sent to EASendMail Service successfully!");
}
catch (Exception exp)
{
Console.WriteLine("Exception: {0}, please make sure you installed EASendMail Service on the server!", exp.Message);
}
}
See Also
Work with EASendMail Service (Email Queuing)
SendMailToQueue Method
SendMailToQueueEx Method
Online Tutorials
Send Email in MS SQL Server - Tutorial
Send Email with Queue in ASP.NET + C#
Send Bulk Emails with Database Queue in ASP.NET + C#
Send Email with Queue in ASP.NET + VB
Send Bulk Emails with Database Queue in ASP.NET + VB
Send Email with Queue in ASP + VBScript
Send Bulk Emails with Database Queue in ASP + VBScript
Online Examples
C# -
Email Queue with EASendMail Service
Visual
Basic - Email Queue with EASendMail Service
C++/CLI
- Email Queue with EASendMail Service