ivan
  • ivan
  • 100% (Exalted)
  • Administration Topic Starter
14 years ago
VB6, VBA Example

EASendMail Service is a light and fast email delivery service which works with EASendMail SMTP Component to enable your application to send mass emails in background queue service. Along with its ability to picking recipients from database in background and sending email in specified datetime, it eases your task in developing featured email application such as newsletter application. We strongly recommend you to use EASendMail Service with your ASP.NET/Web Application.

' The following example codes demonstrate sending email message using email queue + database
' To get full sample projects, please download and install EASendMail on your machine.
' To run it correctly, please change SMTP server, user, password, sender, recipient value to yours


Private Sub btnSendMail_Click() 

    Dim oSmtp As New EASendMailObjLib.Mail 
    oSmtp.LicenseCode = "TryIt" 

    ' Set your sender email address
    oSmtp.FromAddr = "test@emailarchitect.net" 

    ' Set email subject
    oSmtp.subject = "simple email from VB 6.0 project" 

    ' Your SMTP server address
    oSmtp.ServerAddr = "smtp.emailarchitect.net" 

    ' User and password for ESMTP authentication, if your server doesn't require
    ' User authentication, please remove the following codes.
    oSmtp.UserName = "test@emailarchitect.net" 
    oSmtp.Password = "testpassword" 

    ' If your smtp server requires SSL connection, please add this line
    ' oSmtp.SSL_init

    ' If you want to EASendMail service send the email after 10 minutes, please use the following code.
    ' oSmtp.Date = DateAdd("n", 10, Now())

    ' EASendMail will use the following connection to connect to the database,
    ' the syntax is same as ADO connection object.
    oSmtp.AddHeader "X-Data-Connection", _ 
    "Driver={Microsoft Access Driver (*.mdb)};Dbq={$var_easendmailpath}\easendmail_demo.mdb;Uid=;Pwd=;" 

    ' EASendMail will select the fields by the following sql statement
    ' before sending email,
    ' then pick the recipient address from specified field.
    oSmtp.AddHeader "X-Sql-Select", "SELECT id, name, address FROM Recipients" 

    ' Pick "name" field as the recipient name and "address" field as the recipient address.
    ' You can also use {$var_srecord:fieldname} to pick any field in X-Sql-Select statement
    ' and put it to subject, bodytext, then EASendMail will replace it automatially.
    oSmtp.DisplayTo = """{$var_srecord:name}"" <{$var_srecord:address}>" 
    oSmtp.AddHeader "X-Rcpt-To", "{$var_srecord:address}" 

    ' EASendMail service will execute the following sql statement on
    ' every email was sent successfully.
    oSmtp.AddHeader "X-Sql-OnSentSuccess", _ 
    "INSERT INTO sentlog ( server, email ) VALUES( '{$var_server}', '{$var_rcptaddr}' )" 

    ' EASendMail service will execute the following sql statement on
    ' every email could not be sent.
    oSmtp.AddHeader "X-Sql-OnSentError", _ 
    "INSERT INTO errorlog( email, server, errorcode, errordescription ) " & _ 
    "VALUES( '{$var_rcptaddr}', '{$var_server}', '{$var_errcode}', '{$var_errdesc}' )" 

    Dim bodytext As String 

    bodytext = "Hi {$var_srecord:name}, " & Chr(13) & Chr(10) 
    bodytext = bodytext & "Send email with queue." & Chr(13) & Chr(10) & Chr(13) & Chr(10) 
    bodytext = bodytext & "From:Tester" & Chr(13) & Chr(10) 
    ' {$var_srecord:address} will be replaced by EASendMail automatically.
    bodytext = bodytext & "To:{$var_srecord:address}" & Chr(13) & Chr(10) & Chr(13) & Chr(10) 
    bodytext = bodytext & "Your id in database is {$var_srecord:id}." & Chr(13) & Chr(10) 

    oSmtp.bodytext = bodytext 

    MsgBox "start to send email ..." 

    If oSmtp.SendMailToQueue() = 0 Then 
        MsgBox "email was sent to queue successfully!" 
    Else 
        MsgBox "failed to send email with the following error:" & oSmtp.GetLastErrDescription() 
    End If 

End Sub 
Click here to read original topic - full version ... 

If you have any comments or questions about above example codes, please add your comments here.

EXPLORE TUTORIALS

© All Rights Reserved, AIFEI Software Limited & AdminSystem Software Limited.