Occur when an email was sent by FastSender object.
[Syntax]
C++: HRESULT OnSent( long lRet, BSTR ErrDesc, long nKey,
BSTR tParam, BSTR Sender, BSTR Recipients )
Visual Basic: Object_OnSent( ByVal lRet As Long, ByVal ErrDesc As String, _
ByVal nKey As Long, ByVal tParam As String, _
ByVal Sender As String, ByVal Recipients As String )
Visual Basic.NET: Object_OnSent( ByVal lRet As Integer, ByVal ErrDesc As String, _
ByVal nKey As Integer, ByVal tParam As String, _
ByVal Sender As String, ByVal Recipients As String )
C#: void OnSent( int lRet, string ErrDesc, int nKey,
string tParam, string Sender, string Recipients )
Parameter:
lRet
It is zero if succeeded; otherwise it is non-zero.
ErrDesc
Error description if sending email failed.
nKey
It is equal to the value of nKey parameter specified in Send or SendByPickup method.
tParam
It is equal to the value of tParam parameter specified in Send or SendByPickup method.
Sender
Sender's email address.
Recipients
Recipients' email addresses. Multiple addresses are separated by semicolon(;)
Usage Example:
[Visual Basic]
Option Explicit
Private WithEvents m_oFastSender As AOSMTPLib.FastSender
Private m_oSmtp As AOSMTPLib.Mail
Private sub SendEmail()
Dim recipientAddr(3) As String
Dim i As Integer
If m_oFastSender Is Nothing Or m_oSmtp Is Nothing Then
Set m_oFastSender = New AOSMTPLib.FastSender
Set m_oSmtp = New AOSMTPLib.Mail
m_oFastSender.MaxThreads = 10 'set maximum work threads
End If
m_oSmtp.FromAddr = "test@adminsystem.net"
m_oSmtp.ServerAddr = "mail.adminsystem.net"
'if you dont have a smtp server, then use following code:
'FastSender would send email via dns lookup
'm_oSmtp.ServerAddr = ""
recipientAddr(0) = "test@adminsystem.net"
recipientAddr(1) = "test1@adminsystem.net"
recipientAddr(2) = "test2@adminsystem.net"
For i = 0 To 2
m_oSmtp.ClearRecipient
m_oSmtp.AddRecipient recipientAddr(i), recipientAddr(i), 0
m_oSmtp.Subject = "test subject"
m_oSmtp.BodyText = "test body"
Call m_oFastSender.Send( m_oSmtp, i, "any" )
Next
End Sub
Private Sub m_oFastSender_OnSent(ByVal lRet As Long, _
ByVal ErrDesc As String, _
ByVal nKey As Long, _
ByVal tParam As String, _
ByVal Sender As String, _
ByVal Recipients As String)
If lRet = 0 Then
MsgBox nKey & " email was sent successfully"
Else
MsgBox nKey & ": " & ErrDesc
End If
End Sub
[C#]
using System;
using AOSMTPLib;
namespace FastSenderConsole
{
class FastSender
{
private static FastSenderClass m_oFastSender = null;
private static MailClass m_oSmtp = null;
[STAThread]
static void Main(string[] args)
{
string []recipientAddr = new string[3];
if( m_oFastSender == null || m_oSmtp == null )
{
m_oFastSender = new FastSenderClass();
m_oSmtp = new MailClass();
m_oFastSender.MaxThreads = 10; //set maximum work threads
bind OnSent event to OnSent method
_IFastSenderEvents_OnSentEventHandler OnSentEventHandler =
new _IFastSenderEvents_OnSentEventHandler(OnSent);
m_oFastSender.OnSent += OnSentEventHandler;
}
m_oSmtp.FromAddr = "test@adminsystem.net";
m_oSmtp.ServerAddr = "mail.adminsystem.net";
//if you dont have a smtp server, then use following code:
//FastSender would send email via dns lookup
//m_oSmtp.ServerAddr = ""
recipientAddr[0] = "test@adminsystem.net";
recipientAddr[1] = "test1@adminsystem.net";
recipientAddr[2] = "test2@adminsystem.net";
for( int i = 0; i < 3; i++ )
{
m_oSmtp.ClearRecipient();
m_oSmtp.AddRecipient( recipientAddr[i], recipientAddr[i], 0 );
m_oSmtp.Subject = "test subject";
m_oSmtp.BodyText = "body";
m_oFastSender.Send( m_oSmtp, i, "any" );
}
while( m_oFastSender.GetQueuedCount() > 0 )
System.Threading.Thread.Sleep(50);
while( m_oFastSender.GetCurrentThreads() != m_oFastSender.GetIdleThreads())
System.Threading.Thread.Sleep(50); //Wait for all email sent
Console.WriteLine( "all email sent" );
System.Threading.Thread.Sleep(10000);
}
static void OnSent( int lRet,
string ErrDesc,
int nKey,
string tParam,
string Sender,
string Recipients )
{
if( lRet == 0 )
Console.WriteLine("{0} email sent successfully", nKey);
else
Console.WriteLine( "{0} email: {1}", nKey, ErrDesc );
}
}
}
See Also
Send method
SendByPickup method
2001-2007 © Copyright AdminSystem Software Limited. All rights reserved.