Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) 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.
Use ChilkatAx-win32.pkg Procedure Test Handle hoMailman Boolean iSuccess Variant vEmail Handle hoEmail Variant vBdMime Handle hoBdMime Handle hoDistList Handle hoSbRecipients Integer i Integer iSzDistList Integer j String sTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatMailMan)) To hoMailman If (Not(IsComObjectCreated(hoMailman))) Begin Send CreateComObject of hoMailman End Set ComSmtpHost Of hoMailman To "smtp.mymailserver.com" Set ComSmtpPort Of hoMailman To 465 Set ComSmtpSsl Of hoMailman To True Set ComSmtpUsername Of hoMailman To "myUsername" Set ComSmtpPassword Of hoMailman To "myPassword" // Create a new email object Get Create (RefClass(cComChilkatEmail)) To hoEmail If (Not(IsComObjectCreated(hoEmail))) Begin Send CreateComObject of hoEmail End Set ComSubject Of hoEmail To "This is a test" Set ComBody Of hoEmail To "This is a test" Set ComFrom Of hoEmail To "Senders Name <sender@example.com>" Get ComAddTo Of hoEmail "Subscribers" "subscribers@example.com" To iSuccess Get Create (RefClass(cComChilkatBinData)) To hoBdMime If (Not(IsComObjectCreated(hoBdMime))) Begin Send CreateComObject of hoBdMime End Get pvComObject of hoEmail to vEmail Get pvComObject of hoBdMime to vBdMime Get ComRenderToMimeBd Of hoMailman vEmail vBdMime To iSuccess // Load a file containing one email address per line. Get Create (RefClass(cComChilkatStringTable)) To hoDistList If (Not(IsComObjectCreated(hoDistList))) Begin Send CreateComObject of hoDistList End Get ComAppendFromFile Of hoDistList 1000 "utf-8" "qa_data/distList.txt" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoDistList To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatStringBuilder)) To hoSbRecipients If (Not(IsComObjectCreated(hoSbRecipients))) Begin Send CreateComObject of hoSbRecipients End Move 0 To i Get ComCount Of hoDistList To iSzDistList Move 0 To j While (i < iSzDistList) // Build a list of comma-separated recipients. If (j > 0) Begin Get ComAppend Of hoSbRecipients "," To iSuccess End Get ComStringAt Of hoDistList i To sTemp1 Get ComAppend Of hoSbRecipients sTemp1 To iSuccess Move (i + 1) To i Move (j + 1) To j // If we have 20 recipients, or we have the final recipient in the final chunk, then send. If ((j = 20) Or (i = iSzDistList)) Begin Get ComGetAsString Of hoSbRecipients To sTemp1 Get pvComObject of hoBdMime to vBdMime Get ComSendMimeBd Of hoMailman "sender@example.com" sTemp1 vBdMime To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoMailman To sTemp1 Showln sTemp1 Procedure_Return End Move 0 To j Send ComClear To hoSbRecipients End Loop Get ComCloseSmtpConnection Of hoMailman To iSuccess If (iSuccess <> True) Begin Showln "Connection to SMTP server not closed cleanly." End Showln "Email sent to distirbution list." End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.