Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) Send Email to Distribution ListSends the same email to a list of 1000 email addresses in 50 sends where each email has 20 recipients. Note: Chilkat is not intended nor designed for mass emailing. A solution such as this might be used for a corporate emailing to employees, or an emailing to newsletter subscribers.
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim mailman As Chilkat.MailMan Set mailman = Chilkat.NewMailMan mailman.SmtpHost = "smtp.mymailserver.com" mailman.SmtpPort = 465 mailman.SmtpSsl = True mailman.SmtpUsername = "myUsername" mailman.SmtpPassword = "myPassword" ' Create a new email object Dim email As Chilkat.Email Set email = Chilkat.NewEmail email.Subject = "This is a test" email.Body = "This is a test" email.From = "Senders Name <sender@example.com>" Dim success As Boolean success = email.AddTo("Subscribers","subscribers@example.com") Dim bdMime As Chilkat.BinData Set bdMime = Chilkat.NewBinData success = mailman.RenderToMimeBd(email,bdMime) ' Load a file containing one email address per line. Dim distList As Chilkat.StringTable Set distList = Chilkat.NewStringTable success = distList.AppendFromFile(1000,"utf-8","qa_data/distList.txt") If (success = False) Then Debug.Print distList.LastErrorText Exit Sub End If Dim sbRecipients As Chilkat.StringBuilder Set sbRecipients = Chilkat.NewStringBuilder i = 0 szDistList = distList.Count j = 0 Do While i < szDistList ' Build a list of comma-separated recipients. If (j > 0) Then success = sbRecipients.Append(",") End If success = sbRecipients.Append(distList.StringAt(i)) i = i + 1 j = j + 1 ' If we have 20 recipients, or we have the final recipient in the final chunk, then send. If ((j = 20) Or (i = szDistList)) Then success = mailman.SendMimeBd("sender@example.com",sbRecipients.GetAsString(),bdMime) If (success <> True) Then Debug.Print mailman.LastErrorText Exit Sub End If j = 0 sbRecipients.Clear End If Loop success = mailman.CloseSmtpConnection() If (success <> True) Then Debug.Print "Connection to SMTP server not closed cleanly." End If Debug.Print "Email sent to distirbution list." |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.