Sends the e-mail message asynchronously.
[VisualĀ Basic]
Public Function BeginSendMail( _
server As SmtpServer, _
mail As SmtpMail, _
callback As AsyncCallback, _
state As Object _
) As SmtpClientAsyncResult
[C#]
public SmtpClientAsyncResult BeginSendMail(
SmtpServer server,
SmtpMail mail,
AsyncCallback callback,
Object state
);
[C++]
public: SmtpClientAsyncResult* BeginSendMail(
SmtpServer* server,
SmtpMail* mail,
AsyncCallback* callback,
Object* state
);
[JScript]
public function BeginSendMail(
server : SmtpServer,
mail : SmtpMail,
callback : AsyncCallback,
state As Object
) : SmtpClientAsyncResult;
Parameters
Return Value
Example
[Visual Basic, C#, C++] To get the full samples of EASendMail, please refer to Samples section.
[Visual Basic]
Imports EASendMail
Sub SendMail()
Dim oMail As SmtpMail = New SmtpMail("TryIt")
Dim oSmtp As SmtpClient = New SmtpClient
Dim ar As SmtpClientAsyncResult = Nothing
Try
oMail.From = New MailAddress("from@adminsystem.com")
oMail.To.Add(New MailAddress("to@adminsystem.com"))
oMail.Subject = "test subject"
oMail.TextBody = "test body"
Dim oServer As SmtpServer = New SmtpServer("myserveraddress")
ar = oSmtp.BeginSendMail(oServer, oMail, Nothing, Nothing)
Do While Not ar.AsyncWaitHandle.WaitOne(5, False)
'do other thing
Loop
oSmtp.EndSendMail(ar)
Console.WriteLine("the message was sent to {0} successfully", _
ar.SmtpClientInstance.CurrentSmtpServer.Server)
Catch exp As SmtpTerminatedException
Console.WriteLine(exp.Message)
Catch exp As SmtpServerException
Console.WriteLine("Exception: Server Respond: {0}", exp.ErrorMessage)
Catch exp As System.Net.Sockets.SocketException
Console.WriteLine("Exception: Networking Error: {0} {1}", exp.ErrorCode, exp.Message)
Catch exp As System.ComponentModel.Win32Exception
Console.WriteLine("Exception: System Error: {0} {1}", exp.ErrorCode, exp.Message)
Catch exp As System.Exception
Console.WriteLine("Exception: Common: {0}", exp.Message)
End Try
Console.WriteLine("SMTP LOG:" & vbCrLf)
Console.WriteLine(ar.SmtpClientInstance.SmtpConversation)
End Sub
[C#]
using System;
using EASendMail;
void SendMail()
{
SmtpMail oMail = new SmtpMail("TryIt");
SmtpClient oSmtp = new SmtpClient();
SmtpClientAsyncResult ar = null;
try
{
oMail.From = new MailAddress("from@adminsystem.com" );
oMail.To.Add( new MailAddress("to@adminsystem.com" ));
oMail.Subject = "test subject";
oMail.TextBody = "test body";
SmtpServer oServer = new SmtpServer("myserveraddress");
ar = oSmtp.BeginSendMail( oServer, oMail, null, null );
while(!ar.AsyncWaitHandle.WaitOne(5, false ))
{
//do other thing
}
oSmtp.EndSendMail( ar );
Console.WriteLine( "the message was sent to {0} successfully",
ar.SmtpClientInstance.CurrentSmtpServer.Server );
}
catch( SmtpTerminatedException exp )
{
Console.WriteLine( exp.Message );
}
catch( SmtpServerException exp )
{
Console.WriteLine( "Exception: Server Respond: {0}", exp.ErrorMessage );
}
catch( System.Net.Sockets.SocketException exp )
{
Console.WriteLine( "Exception: Networking Error: {0} {1}", exp.ErrorCode, exp.Message );
}
catch( System.ComponentModel.Win32Exception exp )
{
Console.WriteLine( "Exception: System Error: {0} {1}", exp.ErrorCode, exp.Message );
}
catch( System.Exception exp )
{
Console.WriteLine( "Exception: Common: {0}", exp.Message );
}
Console.WriteLine( "SMTP LOG:\r\n" );
Console.WriteLine( ar.SmtpClientInstance.SmtpConversation );
}
[C++]
using namespace System;
using namespace EASendMail;
void SendMail()
{
SmtpMail *oMail = new SmtpMail(S"TryIt");
SmtpClient *oSmtp = new SmtpClient();
SmtpClientAsyncResult *ar = NULL;
try
{
oMail->From = new MailAddress(S"from@adminsystem.com" );
oMail->To->Add( new MailAddress(S"to@adminsystem.com" ));
oMail->Subject = "test subject";
oMail->TextBody = "test body";
SmtpServer *oServer = new SmtpServer(S"myserveraddress");
ar = oSmtp->BeginSendMail( oServer, oMail, NULL, NULL );
while(!ar->AsyncWaitHandle->WaitOne( 5, false ))
{
//do other thing;
}
oSmtp->EndSendMail( ar );
Console::WriteLine( "the message was sent to {0} successfully",
ar->SmtpClientInstance->CurrentSmtpServer->Server );
}
catch( EASendMail::SmtpTerminatedException *exp )
{
Console::WriteLine( exp->Message );
}
catch( EASendMail::SmtpServerException *exp )
{
Console::WriteLine( S"Exception: Server Respond: {0}", exp->ErrorMessage );
}
catch( System::Net::Sockets::SocketException *exp )
{
Console::WriteLine( S"Exception: Networking Error: {0} {1}", exp->ErrorCode.ToString(S"d"), exp->Message );
}
catch( System::ComponentModel::Win32Exception *exp )
{
Console::WriteLine( S"Exception: System Error: {0} {1}", exp->ErrorCode.ToString(S"d"), exp->Message );
}
catch( System::Exception *exp )
{
Console::WriteLine( S"Exception: Common: {0}", exp->Message );
}
Console::WriteLine( S"SMTP LOG:\r\n" );
Console::WriteLine( ar->SmtpClientInstance->SmtpConversation );
}