Sends the e-mail message with raw content asynchronously.
[VisualĀ Basic]
Public Function BeginSendMail( _
server As SmtpServer, _
mail() As Byte, _
from As MailAddress, _
recipients As AddressCollection, _
callback As AsyncCallback, _
state As Object _
) As SmtpClientAsyncResult
[C#]
public SmtpClientAsyncResult BeginSendMail(
SmtpServer server,
byte[] mail,
MailAddress from,
AddressCollection recipients,
AsyncCallback callback,
Object state
);
[C++]
public: SmtpClientAsyncResult* BeginSendMail(
SmtpServer* server,
unsigned char mail __gc[],
MailAddress* from,
AddressCollection* recipients,
AsyncCallback* callback,
Object* state
);
[JScript]
public function BeginSendMail(
server : SmtpServer,
mail : Byte[],
from : MailAddress,
recipients : AddressCollection,
callback : AsyncCallback,
state As Object
) : SmtpClientAsyncResult;
Parameters
Return Value
Example
[Visual Basic, C#] To get the full samples of EASendMail, please refer to Samples section.
[Visual Basic]
Imports EASendMail
Imports System.IO
Sub SendMail()
Dim oSmtp As SmtpClient = New SmtpClient
Dim ar As SmtpClientAsyncResult = Nothing
Try
Dim from As New MailAddress("from@adminsystem.com")
Dim recipients As New AddressColleciton("to@adminsystem.com")
Dim fs As New FileStream( "c:\test.eml", FileMode.Open, FileAccess.Read, FileShare.Read)
Dim mail(fs.Length-1) As Byte
fs.Read(mail, 0, fs.Length)
fs.Close()
Dim oServer As SmtpServer = New SmtpServer("myserveraddress")
ar = oSmtp.BeginSendRawMail(oServer, mail, from, recipients, 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;
using System.IO;
void SendMail()
{
SmtpClient oSmtp = new SmtpClient();
SmtpClientAsyncResult ar = null;
try
{
MailAddress from = new MailAddress("from@adminsystem.com");
AddressColleciton recipients = new AddressColleciton("to@adminsystem.com");
FileStream fs = new FileStream( "c:\\test.eml", FileMode.Open, FileAccess.Read, FileShare.Read);
byte[] mail = new byte[fs.Length];
fs.Read(mail, 0, fs.Length);
fs.Close()
SmtpServer oServer = new SmtpServer("myserveraddress");
ar = oSmtp.BeginSendRawMail( oServer, mail, from, recipients, 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 );
}