Mass Mailing Concepts
Mass mails are used for various purposes such as marketing campaigns, opt-in newsletters, field advisories (alerts to end users, support staff, sales people, etc. regarding changes to a product or newly discovered problems), and any other case in which an email message must be sent to a large number of recipients in a batch.
NetMailBot allows you to retrieve your mailing list from a database by way of a DSN connection to the database. Using various NetMailBot parameters discussed here, you can quickly send an email to many recipients.
In performing mass mailings, you have options to control both the number of recipients per email using -recipientliimit and how the email addresses retrieved from the database are addressesed - "To:", "Cc:", or "Bcc:" - using -dbuseaddresee. What you choose for -dbuseaddresee has an effect on how NetMailBot handles the limits specified with -recipientliimit, as described below.
NOTE: It is possible to implement a mass mailing without the use of a database; we have included, as a reminder of this, another example in this section which uses a simple text file list of "Bcc:" recipients instead of the database connectivity features.
NOTE: This section does not discuss the mail merge functionality of NetMailBot, which takes the mass mailing functionality discussed here a step further by personalizing the email for each recipient in the database. For such features, see the Mail Merges section.
Options for Controlling the Number of Recipients: -recipientlimit
A mass mailing can be "batch sent" in a few different ways. Suppose you have a database of 1000 email addresses. One strategy would be to send ten emails, each to 100 recipients. Another is to send 100 emails, each to ten recipients. Or, you could send 1000 emails, each to one recipient. Due to the fact that many SMTP servers limit the number of email addresses in the "To:" field to 100, it is unlikely that you could send one email to all 1000 recipients.
You can control the maximum number of recipients per individual email using -recipientlimit. A very common application of this parameter is when you want each recipient to receive an individually-addressed email (the third case listed above: 1000 emails, each to one recipient). If you omit -recipientlimit, NetMailBot's default limit on the number of recipients per email is 100, due to the fact that many SMTP servers tend to be configured with this as the limit anyway.
Options for Controlling How the Emails are Addressed: -dbuseaddressee
The database email addresses could be addressed as "To:", "Cc:", or "Bcc:" recipients - that is, the emails could be sent either directly to the recipients ("To:"), sent as Carbon Copies ("Cc:" - known "parallel" recipients to the "To:" recipient), or as Blind Carbon Copies ("Bcc:" - unknown "parallel" recipients to the "To:" recipient).
Here are some imagined example scenarios for these different types of addressing:
You can control this addressing with the -dbuseaddressee parameter. This is in addition to the recipient you specify with the required parameter -to:
-dbuseaddresee's Effect on -recipientlimit Count
How you have set -dbuseaddressee affects how NetMailBot handles addressing field limits. When using -dbuseaddressee "to", the address specified in the -to parameter is the first address put in the "To:" field, then the addresses from the database follow, up to the number of addresses specified with -recipientlimit, if specified (if not, the limit is 100, the default). Thus, there is one overall set of "To:" recipients, and the address specified with -to appears only in the first email.
If you use -dbuseaddressee "cc" or -dbuseaddressee "bcc", the address specified in the -to parameter is the addressee used in the "To:" field for each email, but it does not count toward any limit set with -recipientlimit. Instead, -recipientlimit only counts toward the addresses put into the "Cc:" or "Bcc:" field, that is, those from the database.
For example, let's assume you had 300 addresses in your database (for simplicity, let's say "001@xyz.com", "002@xyz.com", etc.) and your -to recipient was "joe@xyz.com". Using -dbu "to" and without specifying -recipientlimit, NetMailBot would send four emails to a total of 301 recipients. The output would look like:
Preparing message
Adding TO(1): joe@xyz.com
Adding TO(2): 001@xyz.com
Adding TO(3): 002@xyz.com
...
Adding TO(100):099@xyz.com
Sending message
Sent to mail server
Preparing message
Adding TO(101): 100@xyz.com
Adding TO(102): 101@xyz.com
Adding TO(103): 102@xyz.com
...
Adding TO(200):199@xyz.com
Sending message
Sent to mail server
Preparing message
Adding TO(201): 200@xyz.com
Adding TO(202): 201@xyz.com
Adding TO(203): 202@xyz.com
...
Adding TO(300):299@xyz.com
Sending message
Sent to mail server
Preparing message
Adding TO(301): 300@xyz.com
Sending message
Sent to mail server
Disconnecting
Mail sent successfully to 301 recipients
If, instead, you used -dbu "cc", the output would look like:
Preparing message
Adding TO(1): joe@xyz.com
Adding CC(2): 001@xyz.com
Adding CC(3): 002@xyz.com
Adding CC(4): 003@xyz.com
...
Adding CC(101): 100@xyz.com
Sending message
Sent to mail server
Adding TO(102): joe@xyz.com
Adding CC(103): 101@xyz.com
Adding CC(104): 102@xyz.com
Adding CC(105): 103@xyz.com
...
Adding CC(202): 200@xyz.com
Preparing message
Sending message
Sent to mail server
Adding TO(203): joe@xyz.com
Adding CC(204): 201@xyz.com
Adding CC(205): 202@xyz.com
Adding CC(206): 203@xyz.com
...
Adding CC(303): 300@xyz.com
Sending message
Sent to mail server
Mail sent successfully to 303 recipients
Thus, in the latter case, the recipient limit of 100 (by default) only applies to the "Cc:" recipients.