Sends email message with original 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,
array<unsigned char>^ mail,
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
Remarks
Example
[Visual Basic, C#] To get the full samples of EASendMail, please refer to Samples section.
[VB - Forward Email]
Imports EASendMail
Imports System.IO
Sub ForwardEmailFile()
Try
Dim from As New MailAddress("from@adminsystem.com")
Dim recipients As New AddressCollection("to@adminsystem.com")
Dim fs As New FileStream("c:\test.eml", FileMode.Open, FileAccess.Read, FileShare.Read)
Dim mailData(fs.Length - 1) As Byte
fs.Read(mailData, 0, fs.Length)
fs.Close()
Dim oServer As SmtpServer = New SmtpServer("myserveraddress")
' SMTP user authentication
oServer.User = "myusername"
oServer.Password = "mypassword"
' 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
Dim oSmtp As SmtpClient = New SmtpClient
Dim asyncResult As SmtpClientAsyncResult = oSmtp.BeginSendRawMail(oServer, mailData, from, recipients, Nothing, Nothing)
Do While Not asyncResult.AsyncWaitHandle.WaitOne(5, False)
' do other thing
Loop
oSmtp.EndSendMail(asyncResult)
Catch exp As Exception
Console.WriteLine("Exception: {0}", exp.Message)
End Try
End Sub
[C# - Forward Email]
using System;
using EASendMail;
using System.IO;
void ForwardEmailFile()
{
try
{
MailAddress from = new MailAddress("from@adminsystem.com");
AddressCollection recipients = new AddressCollection("to@adminsystem.com");
FileStream fs = new FileStream("c:\\test.eml", FileMode.Open, FileAccess.Read, FileShare.Read);
byte[] mailRawData = new byte[fs.Length];
fs.Read(mailRawData, 0, mailRawData.Length);
fs.Close();
SmtpServer oServer = new SmtpServer("myserveraddress");
// SMTP user authentication
oServer.User = "myusername";
oServer.Password = "mypassword";
// 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();
SmtpClientAsyncResult asyncResult = oSmtp.BeginSendRawMail(oServer, mailRawData, from, recipients, null, null);
while (!asyncResult.AsyncWaitHandle.WaitOne(5, false))
{
// do other thing
}
oSmtp.EndSendMail(asyncResult);
Console.WriteLine("the message was sent to {0} successfully",
asyncResult.SmtpClientInstance.CurrentSmtpServer.Server);
}
catch (Exception exp)
{
Console.WriteLine("Exception: {0}", exp.Message);
}
}
See Also
SmtpClient.BeginSendMail Method
Work with EASendMail Service (Email Queuing)
SmtpClient.SendMailToQueue Method
SmtpClient.SendMailToQueueEx Method
Online Tutorials
Send Email
in VB 6.0 - Tutorial
Send
Email in C# - Tutorial
Send
Email in VB.NET - Tutorial
Send Email
in Visual C++ - Tutorial
Send Email in Managed C++/CLI - Tutorial
Send
Email in Delphi - Tutorial
Send
Email in MS SQL stored procedure - Tutorial