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
(PowerShell) 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.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll" # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $mailman = New-Object Chilkat.MailMan $mailman.SmtpHost = "smtp.mymailserver.com" $mailman.SmtpPort = 465 $mailman.SmtpSsl = $true $mailman.SmtpUsername = "myUsername" $mailman.SmtpPassword = "myPassword" # Create a new email object $email = New-Object Chilkat.Email $email.Subject = "This is a test" $email.Body = "This is a test" $email.From = "Senders Name <sender@example.com>" $email.AddTo("Subscribers","subscribers@example.com") $bdMime = New-Object Chilkat.BinData $mailman.RenderToMimeBd($email,$bdMime) # Load a file containing one email address per line. $distList = New-Object Chilkat.StringTable $success = $distList.AppendFromFile(1000,"utf-8","qa_data/distList.txt") if ($success -eq $false) { $($distList.LastErrorText) exit } $sbRecipients = New-Object Chilkat.StringBuilder $i = 0 $szDistList = $distList.Count $j = 0 while ($i -lt $szDistList) { # Build a list of comma-separated recipients. if ($j -gt 0) { $sbRecipients.Append(",") } $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 -eq 20) -or ($i -eq $szDistList)) { $success = $mailman.SendMimeBd("sender@example.com",$sbRecipients.GetAsString(),$bdMime) if ($success -ne $true) { $($mailman.LastErrorText) exit } $j = 0 $sbRecipients.Clear() } } $success = $mailman.CloseSmtpConnection() if ($success -ne $true) { $("Connection to SMTP server not closed cleanly.") } $("Email sent to distirbution list.") |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.