Java
Chilkat2 Java
Send Email to Distribution List
See more SMTP Examples
Sends 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.
Chilkat Java Downloads
import com.chilkatsoft.chilkat2.BinData;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Email;
import com.chilkatsoft.chilkat2.MailMan;
import com.chilkatsoft.chilkat2.StringBuilder;
import com.chilkatsoft.chilkat2.StringTable;
public class ChilkatExample {
public static void main(String[] args) {
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
MailMan mailman = new MailMan();
mailman.setSmtpHost("smtp.mymailserver.com");
mailman.setSmtpPort(465);
mailman.setSmtpSsl(true);
mailman.setSmtpUsername("myUsername");
mailman.setSmtpPassword("myPassword");
// Create a new email object
Email email = new Email();
email.setSubject("This is a test");
email.setBody("This is a test");
email.setFrom("Senders Name <sender@example.com>");
email.addTo("Subscribers", "subscribers@example.com");
BinData bdMime = new BinData();
mailman.renderToMimeBd(email, bdMime);
// Load a file containing one email address per line.
StringTable distList = new StringTable();
try {
distList.appendFromFile(1000, "utf-8", "qa_data/distList.txt");
} catch (ChilkatException e) {
System.out.println(e.getLastErrorText());
return;
}
StringBuilder sbRecipients = new StringBuilder();
int i = 0;
int szDistList = distList.getCount();
int j = 0;
while (i < szDistList) {
// Build a list of comma-separated recipients.
if (j > 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 == 20) || (i == szDistList)) {
try {
mailman.sendMimeBd("sender@example.com", sbRecipients.getAsString(), bdMime);
} catch (ChilkatException e) {
System.out.println(e.getLastErrorText());
return;
}
j = 0;
sbRecipients.clear();
}
}
try {
mailman.closeSmtpConnection();
} catch (ChilkatException e) {
System.out.println("Connection to SMTP server not closed cleanly.");
}
System.out.println("Email sent to distirbution list.");
}
}