SendMail Method

Send email to specified SMTP server.

[Syntax]
Visual C++: HRESULT SendMail( long* pVal )
Visual Basic: SendMail( ) As Long

Return Values

In synchronous mode, if this method succeeds, the return value is zero; otherwise the return value is non-zero. You can obtain the last error information via GetLastError/GetLastErrDescription method.

In asynchronous mode, this method return to application immediately no matter all emails are sent or not. If OnError event isn't fired while sending email, OnClosed event will indicate the task is finished successfully.

To learn more programming skills in asynchronous mode, please refers to the corresponding events.

Remarks

If ServerAddr property is not assigned, Mail object sends email via DNS lookup automatically. We recommend to use SetDnsServer method to specify DNS server on windows95.

Usage Example

[Visual Baisc]		
Private Sub SendEmail()
  Dim oSmtp As EASendMailObjLib.Mail
  Set oSmtp = New EASendMailObjLib.Mail
  
  'The license code for EASendMail ActiveX Object,
  'for evaluation usage, please use "TryIt" as the license code.
  oSmtp.LicenseCode = "TryIt"
 
  oSmtp.ServerAddr = "mail.adminsystem.net"
  'If you don't have SMTP server, use the following code
  'send email via DNS lookup, EASendMail lookups SMTP server automatically.
  'oSmtp.ServerAddr = ""   
  
  'If your server require user authentication
  'oSmtp.UserName = "test@adminsystem.net"
  'oSmtp.Password = "test"
  
  'If your server requires SSL connection
  'oSmtp.SSL_init
  'oSmtp.SSL_starttls = 0
  'oSmtp.ServerPort = 465
  
  ''If your server requires TLS connection
  'oSmtp.SSL_init
  'oSmtp.SSL_starttls = 1
  'oSmtp.ServerPort = 25
  
  oSmtp.FromAddr = "test@adminsystem.net"
  oSmtp.AddRecipient "Support Team", "support@adminsystem.net", 0
 
  oSmtp.Subject = "Test"
  oSmtp.BodyText = "Hello, this is a test...."
 
  If oSmtp.SendMail() = 0 Then
    MsgBox "Message delivered!"
  Else
    MsgBox oSmtp.GetLastErrDescription()
  End If
End Sub

[JScript/WSH]
function SendEmail()
{
  var oSmtp = new ActiveXObject("EASendMailObj.Mail");
  //The license code for EASendMail ActiveX Object,
  //for evaluation usage, please use "TryIt" as the license code.
  oSmtp.LicenseCode = "TryIt";  
  
  oSmtp.ServerAddr = "mail.adminsystem.net";
  //If you don't have SMTP server, use the following code
  //send email via DNS lookup, EASendMail lookups SMTP server automatically.
  //oSmtp.ServerAddr = ""; 
  
  //If your server require user authentication
  //oSmtp.UserName = "test@adminsystem.net";
  //oSmtp.Password = "test";
  
  //If your server requires SSL connection
  //oSmtp.SSL_init();
  //oSmtp.SSL_starttls = 0;
  //oSmtp.ServerPort = 465;
  
  //If your server requires TLS connection
  //oSmtp.SSL_init();
  //oSmtp.SSL_starttls = 1;
  //oSmtp.ServerPort = 25;
    
  oSmtp.FromAddr = "test@adminsystem.net";
  oSmtp.AddRecipient( "Support Team", "support@adminsystem.net", 0 );
 
  oSmtp.Subject = "Test";
  oSmtp.BodyText = "Hello, this is a test....";
  
  if( oSmtp.SendMail() == 0 )
    WScript.Echo( "Message delivered!" );
  else
    WScript.Echo( oSmtp.GetLastErrDescription());
}

[Visual C++]
#include "stdafx.h"
#include <comdef.h>
#include <iostream>

#include "easendmailobj.tlh"
using namespace EASendMailObjLib;

using namespace std;
 
void SendEmail()
{
  ::CoInitialize( NULL );
  IMailPtr oSmtp = NULL;
  oSmtp.CreateInstance("EASendMailObj.Mail");
	
  //The license code for EASendMail ActiveX Object,
  //for evaluation usage, please use "TryIt" as the license code.
  oSmtp->LicenseCode = _bstr_t("TryIt");
	
  oSmtp->ServerAddr = _bstr_t( "mail.adminsystem.net" );
  //If you don't have SMTP server, use the following code
  //send email via DNS lookup, EASendMail lookups SMTP server automatically.
  //oSmtp->ServerAddr = _bstr_t("");  
    
  
  //If your server require user authentication
  //oSmtp->UserName = _bstr_t("test@adminsystem.net");
  //oSmtp->Password = _bstr_t("test");
  
  //If your server requires SSL connection
  //oSmtp->SSL_init();
  //oSmtp->SSL_starttls = 0;
  //oSmtp->ServerPort = 465;
  
  //If your server requires TLS connection
  //oSmtp->SSL_init();
  //oSmtp->SSL_starttls = 1;
  //oSmtp->ServerPort = 25;  
  
  oSmtp->FromAddr = _bstr_t( "test@adminsystem.net" );
  oSmtp->AddRecipient( _bstr_t("Support Team"), 
                          _bstr_t("support@adminsystem.net"), 0 );
 
  oSmtp->Subject = _bstr_t("Test");
  oSmtp->BodyText = _bstr_t("Hello, this is a test....");
  
  if( oSmtp->SendMail() == 0 )
    cout << "Message delivered!" << endl;
  else
    cout << (const char*)(oSmtp->GetLastErrDescription()) << endl;
}

See Also

Asynchronous Property
OnSending Event
Terminate Method
EASendMail Samples
SaveMailEx Method