Netmailer
Overview
Netmailer
is a fully integrated Alpha Five AddIn for sending the same e-mail message
or customized messages containing information from your database, to each
person on your mailing list.
With
additional features, Netmailer
Professional helps you to maintain your e-mail lists, add addresses
to your lists by monitoring messages sent to an e-mail address that you
designate, and remove addresses from your lists when you receive a Remove
request.
Contents
"Using
Netmailer"
"Creating
a New Netmailer Job"
"Running
a Netmailer Job"
"Stopping
and Resuming a Mailing Job"
"Creating
a Maintenance Job (Netmailer Professional)"
"Function
List"
Sending
Bulk E-mail
Using
the Netmailer Bulk E-mail feature, you can do the following tasks:
- Use
a table or set as the data source for your mailing.
- Send
the same message to each e-mail address on your list, or customized messages
using data from a table or set.
- Specify
a filter expression for sending e-mail to a subset of your list.
-
Skip
e-mail addresses in specified Exclude lists.
- Avoid
sending e-mail to addresses in your Remove list, without having to remove
the data from your list.
- Avoid
adding back an address from the Remove list. (Maintenance jobs only)
- Check
for duplicate e-mail addresses and send e-mail to unique addresses only.
-
Send
e-mail messages in HTML format, plain text, both, or HTML conditionally.
- Send
messages in both text and HTML formats, and display the text version if
the recipient e-mail client cannot display HTML.
- Send
an HTML message conditionally, based on an expression.
- Include
multiple attachments with each e-mail message; you can send the same attachment,
or custom attachments with each e-mail message.
- Specify
custom e-mail headers for each mailing.
- Create
a log file containing information on whether messages were sent successfully.
- Update
a field in the source table or set that indicates whether an e-mail was
sent successfully.
- Stop
and resume a mailing; for example, if you are sending a mailing to a very
large number of recipients, you can stop the job, at any time, and resume
the mailing from the stopping point.
-
Send
messages in batches, when sending the same message to each recipient,
to speed up the mailing process.
- Specify
the batch size. For example, if you specify a batch size of 10, Netmailer
sends the same e-mail message to each group of ten e-mail addresses on
your list, making only one connection per batch, instead of ten.
- The
maximum batch size depends on your SMTP server. Netmailer attempts to
determine the maximum batch size for you.
- Send
messages containing conditional text; for example, a customer meeting
one set of conditions would get one message, while another customer might
get a different message.
- Send
messages containing pre-defined boilerplate text.
Maintenance
Jobs (Netmailer Professional)
Netmailer
Professional helps you to maintain your e-mail and Remove lists, and automatically
or interactively validate e-mail addresses.
Netmailer
Professional can scan e-mail messages at specified e-mail addresses that
you designate. For example, you might instruct your mailing recipients
to change their subscription status by doing one of the following tasks:
- Send
an e-mail message to remove@xyz.corp
- Send
an e-mail message to mailings@xyz.corp, with Remove in the subject line
- Send
a message to mailings@xyz.corp, with Subscribe in the subject line
Using
Netmailer Professional, you can do the following tasks:
- Check
an e-mailbox for Subscribe and Remove requests and add them to a list.
- Check
an e-mailbox for undeliverable e-mail and add them to a list of bounced
addresses.
- Add
the messages at a specified e-mail address to a Subscribe or Remove list,
or add only messages with specified keywords in the subject line.
- Automatically
or interactively validate e-mail addresses.
- Save
invalid e-mail addresses in a table for review.
Using
Netmailer
You
can get started using Netmailer by performing the following steps:
- Start
Alpha Five and open a database.
- Right-click
on a table or set, and select Addins
> Netmailer.
- From
the right-click menu, you can create, edit, run Netmailer jobs, and maintain
Netmailer lists (Netmailer Professional only).
In
the next procedure, you create a new Netmailer job, using the Netmailer
Genie.
Creating
a New Netmailer Job
You
use Alpha Five Netmailer to create and send bulk e-mail, and to maintain
your e-mail lists. In the first procedure, you learn how to specify your
requirements for a new e-mailing job.
To
create a new Netmailer job:
- Open
the AlphaSports database.
-
Click
the Exit AlphaSports button in the menu bar.
- The
AlphaSports Control Panel opens.
-
In
the Control Panel, right-click on the Customer table, and select Addins
> Netmailer > Create New Job.
- The
Netmailer Genie appears.
- In
the Source Table drop-down list, you can select a table or set, or select
More Files to locate any DBF or SET file, as a data source for your mailing.
- To
create a Netmailer job, you must specify a table or set with a field containing
e-mail addresses.
-
From
the Source Table E-mail Field drop-down list, select the field in the
source table containing the e-mail addresses for your mailing list, and
click Next.
- The
E-mail Profile window appears.
-
To
create an e-mail profile, click the E-mail Settings button.
- The
E-mail Settings window appears.
- You
use the E-mail Settings window to create or edit an e-mail profile for
your mailings. E-mail profiles let you specify multiple e-mail accounts,
and sending and receiving preferences for your mailings. For example,
you might define different e-mail profiles to separate promotional mailings
from invoice mailings, or the mailings for one business account from another.
- You
also can access your e-mail profiles by selecting View
> Settings > System > E-mail from the Alpha Five menu
bar.
- Click
the Account tab.
- Specify
the following e-mail account settings:
- Incoming
(POP) and outgoing (SMTP) mail servers.
- Your
name, that appears on the From line; for example, John Smith.
- Your
e-mail address.
- User
name and password for logging in to your incoming mail server.
- Click
the Receiving tab.
- Specify
the following settings for receiving mail:
|
Setting
|
Description
|
|
Delete
|
Whether to delete mail from the server after retrieving it.
|
|
Receive Count
|
Number of messages to retrieve from the incoming mail server for Netmailer.
Should be set to -1, which retrieves all messages.
|
|
Inbox
|
Table for storing incoming e-mail.
|
|
Attachments
|
Directory for storing attachments.
|
- Click
the Sending tab.
- Specify
the following settings for sending mail:
|
Setting
|
Description
|
|
SMTP Authentication Method
|
Most SMTP servers do not require authentication, but some do:
* Outgoing server does not require authentication.
* Use the same settings as your incoming e-mail server.
* Log on using the username and password provided.
* Log on to incoming mail server before sending mail.
|
|
Outbox
|
Netmailer ignores the outbox and does not store outgoing mail.
|
- Use
the Advanced tab to specify the following settings.
- Typically,
you keep the default port settings.
-
When
you finish specifying your e-mail settings, click OK, and then click Next.
- The
Netmailer Genie appears.
- Use
Send Type to specify whether to send the same or a custom message to each
recipient. If you select send custom e-mail to each recipient, a separate
e-mail and SMTP connection is made for each address in the source table.
This takes longer than sending the same e-mail message to every recipient.
- Selecting
custom e-mail disables the batch option.
- Keep
the default selection, send
same e-mail to each recipient.
-
Specify
a Batch Size of 25.
- The
batch size specifies the number of recipients for each copy of the message.
For example, if you specify a batch size of 25, Netmailer sends one message
to 25 recipients, making only one server connection.
- Note
that spam filters might block the delivery of batch mailings or put them
in bulk folders.
-
Click
the Test button.
- Netmailer
contacts your SMTP server and determines the maximum batch size allowed,
if your SMTP server supports this feature.
-
Adjust
the batch size number to 1,
and click Next.
- In
the next window, you select whether to send your message as plain text,
HTML, both, or HTML based on an expression.
- If
you select Send both HTML and plain text, the recipient e-mail client
determines which version to use.
- If
you select Send HTML based on an expression, you can use the Expression
Builder and type in the expression that Netmailer uses to determine whether
to send a plain text or HTML message to a recipient. The HTML expression
must evaluate to a logical value. If the HTML expression evaluates to
true (.T.), Netmailer sends HTML, otherwise (.F.) it sends plain text.
-
Select
Send
both HTML and plain text, and click Next.
- The
next screen introduces you to the Netmailer configuration dialog, where
you compose your e-mail message body.
-
Click
Finish.
- The
Netmailer Genie closes and the Netmailer Editor appears. In addition,
the Netmailer menu and toolbar appears.
Configuring
Netmailer
You
use the Netmailer Editor to compose your e-mail message and finish specifying
the parameters for your mailing.
To
configure Netmailer:
- In
the Tables window, you specify your E-mail and Exclude lists, whether
to update a field in the source table, and create a log file.
- Use
the Filter and Order Builders to specify the records to include or exclude
from your mailing list, and the order that messages are sent. The default
order is ascending alphabetical order, by e-mail address.
- Use
the E-mail Field drop-down list to specify the field that contains the
addresses for your mailing.
- Under
Exclude Lists, click the green plus sign (+) to specify an Exclude list
table.
- The
Exclude list contains addresses that should not receive e-mail. Netmailer
excludes the e-mail addresses in this list from the mailing. The exclude
list is where you store removed and invalid e-mail address lists.
- Select
Update
a field in the source table.
- Specify
the field to update and the update expression. If you selected a batch
size number greater than 1, the field update option is disabled.
-
Specify
a name for a Log File table, which catalogs the e-mail addresses and time
stamps for when e-mail was sent.
- Tip:
If your mailing job is interrupted, and you are unable to resume the mailing,
you can use the log file as an exclude list and avoid sending e-mail to
logged addresses.
-
Click
the Options tab.
- The
Configuration Options window appears.
- In
the Options window, you specify the following parameters:
-
Subject
of your e-mail message
- Custom
e-mail subjects can contain Alpha Five expressions, and include fields
from your source table or set. For custom e-mail, the Subject edit box
becomes an Expression Builder field.
- E-mail
profile to use for mailing job
- Message
text format
- Expression
for sending HTML
- Same
or custom messages
- Batch
size
- Delay
between sends
Lets you pause between sending each message for the specified interval.
This feature accommodates servers that limit the number of connections
that you can make to the server within a certain time interval. For example,
if your server lets you make only ten connections per minute, you would
specify a delay between sends of 6 seconds.
- Netmailer
Maintenance job to be run before sending the mailing (Netmailer Professional
only)
- Unique
addresses only, to prevent recipients from receiving multiple copies of
the same e-mail
-
Attachments
methods:
|
Method
|
Description
|
|
From a List
|
Type in or select a file to include with the message.
|
|
Embedded
|
Attachment is included and sent with the message.
|
|
Based on an Expression
|
For example, if you are sending attached PDF files, that are named
by Lastname, you can enter the expression:
"c:\PDF_files" + chr(92) + Alltrim(Lastname) +".pdf"
For recipients, John Smith, Aaron Brown, and Selwyn Rabins, the files
smith.pdf, brown.pdf, and rabins.pdf, respectively, would be sent.
|
- Click
the Text or HTML E-mail tab.
- You
can type in your e-mail message or load the message body from a file.
- When
creating custom e-mail messages, you can select from the following options:
|
Option
|
Description
|
|
Load Message Body From File
|
Inserts text from a file.
|
|
Insert a Mail Merge Field
|
Display fields from the source table or set.
|
|
Insert a Mail Merge Expression
|
Display any valid Alpha Five expression.
|
|
Insert Command
|
Display text based on a condition.
|
|
Copy From HTML Text
|
Copy and paste the HTML text to the plain text.
|
- A
custom e-mail message using the AlphaSports Invoice
set as its data source, might appear as follows:
- This
message body includes fields from the Invoice set, which contains a one-to-many
linked child table.
- Using
the Insert Command, you can insert values into the custom message body.
For more information, see "Inserting
Commands in E-mail".
- To
view the custom messages, click the Preview button in the toolbar, and
use the navigation buttons below the text pane.
- Click
Close when you are finished.
- In
the Netmailer Editor, click the Headers tab.
- When
sending the same e-mail message, with a batch size of 2 or more, you can
select from the following Header options:
|
Option
|
Description
|
|
Put all e-mail addresses in the To field
|
Addresses in the To are visible to other recipients.
|
|
Put the first address in the To field, and all others in the CC field
|
Addresses in the To and CC field are visible to other recipients.
|
|
Put the first address in the To field, and all others in the BCC field
|
Addresses in the BCC field are not visible to other recipients.
|
|
Supply an e-mail address for the To field, and put all others in the
BCC field
|
Specify a custom or bogus e-mail address, that is visible to all recipients.
The recipients' e-mail addresses will not be visible to other recipients.
|
|
Option
|
Description
|
|
Reply-To Address
|
Address to which message replies should be sent.
|
|
Custom Headers
|
Specify message header information here, such as X-mailer, or other
user-defined information. Heading information is not typically visible
to recipients, unless they examine the message header directly.
|
-
When
you finish specifying your mailing information, you can select from the
following options:
|
Option
|
Description
|
|
Preview
|
Netmailer builds the e-mail job, displays recipient addresses, formats
and displays the message body. Use the navigation buttons to view the
messages or click the Explorer button to view the HTML version.
|
|
Save
|
Name and save Netmailer job. Displays the job name in parenthesis and
removes the asterisk from the title bar.
|
|
Run
|
Netmailer builds the e-mail job, prompts you for confirmation, and
then sends the mailings.
|
Including
Images in HTML E-mail
When
including images in HTML e-mail, you have the following two options:
- Embedding
the image and sending each recipient a copy of the image.
- Placing
the image on a public website and including a reference to it.
In
the first option, your HTML e-mail message includes an image, for example,
using the image tag <img src="mypic.jpg">. The embedded
image potentially produces a very large message size that could bog down
the server and slow down your mailing. If you select to use the image
tag in this format, and do not attach the image using the embedded method,
the image does not appear in the message.
In
contrast, using the second option, referencing the image on a public website,
for example, using the image tag <img src="http://mydomain.com/images/mypic.jpg">,
results in a smaller message size, since the image is not sent along with
the message.
This
is the preferred method for sending images in HTML e-mail, however, the
drawbacks are that you must have a public website to which you can upload
the image, and your message recipients must connect to the website to
view the image.
Inserting
Commands in E-mail
In
the Netmailer Editor, when you click the Insert Command button, Netmailer
displays the following Insert Command dialog:
Netmailer
supports commands that let you perform the following tasks:
-
Include
conditional text in the body of the e-mail.
- For
example, if a "DaysOverdue" field is greater than 90, you might
include a more strongly worded paragraph asking for payment.
[.IF
days_overdue < 90]
If
you have not yet sent in payment, can you please send it in as soon as
possible
[.ELSE]
Your
account is now more than 90 days overdue, and we would appreciate your
immediate payment.
[.END_IF]
- Include
content in the body of the e-mail that is dynamically loaded from disk
files. This lets you include boilerplate text in your e-mail messages.
You can control which boilerplate text is loaded by an expression.
-
Suppress
lines in the e-mail that are blank. For example, if you include a Company,
and an Address2 field in an e-mail, and the field contains no data, Netmailer
can suppress the blank line.
<<Customer->Firstname|>>
<<Customer->Lastname|>>
<<Customer->Company|>>
[Suppress Blank Line]
<<Customer->Address_1|>>
<<Customer->Address_2|>>
[Suppress Blank Line]
<<Customer->City|>>,
<<Customer->State|>> <<Customer->Zip|>>
-
Include
fields from one-to-many linked child tables. This option is only available
if the data source for your Netmailer job is a set which has one-to-many
child tables.
[.ONE_MANY:Invoice_Items]
<<Invoice_Items->Product_id|>>
<<Invoice_Items->Price||10|2>>
[.END_ONE_MANY]
Running
a Netmailer Job
Additionally,
you can run Netmailer jobs by using the Netmailer Job Genie:
- Start
Alpha Five and open a database.
-
Right-click
on a table or set, and select Addins
> Netmailer > Run Job.
- The
Netmailer Job Genie appears.
-
Select
the job you want to run, and click Next.
- The
Job Genie lets you specify additional record selection criteria for your
mailing.
- Click
Next.
- You
can view and copy the Xbasic commands for executing your Netmailer job.
- Click
Finish to start sending e-mail.
Stopping
and Resuming a Mailing Job
Perhaps,
your mailing job involves sending e-mail to a large number of customers.
You might need to interrupt the mailing before it is completed. With Netmailer,
you can stop a partially completed mailing job, then resume mailing from
the stopping point, when you are ready.
To
stop a mailing before completion:
- Start
Alpha Five and open a database.
- Right-click
on a table or set, and select Addins
> Netmailer > Run Job.
- Select
a Netmailer job, and click Next.
-
Click
Next again, and click Finish, to run the job.
- A
Netmailer Progress window appears displaying the mailing job status.
-
Click
the Stop button.
- The
following message window appears.
- Click
OK.
To
resume a mailing job:
- Right-click
on a table or set, and select Addins
> Netmailer > Run Job.
-
Select
the partially completed Netmailer job, and click Next, Next, and Finish,
in the Job Genie.
- The
following message window appears.
-
Click
Yes.
- Netmailer
completes the mailing job.
- If
you click No, Netmailer restarts and runs the job from the beginning.
To
stop and resume a job, using the Netmailer Editor:
-
Right-click
on a table or set, and select Addins
> Netmailer > Edit Job.
- The
Netmailer Job selection window appears.
-
Select
a Netmailer job, and click OK.
- The
job appears in the Netmailer Editor.
-
Click
the Run button on the toolbar.
- A
confirmation message appears.
-
Click
Yes.
- A
Netmailer Progress window appears displaying the mailing job status.
-
Click
the Stop button.
- The
following message window appears.
-
Click
OK.
- The
partially completed job appears in the Netmailer Editor.
- Next
to the mailing job name, Netmailer displays [Partially Completed] in the
title bar, indicating that this job has been partially sent, but there
are additional messages to send before its completion.
- The
asterisk (*) in the title bar indicates that changes have been made which
require you to save the job. If you click the close button in the Editor
window, the following message appears:
-
Click
Yes.
- Netmailer
saves the partially completed job. You can complete the mailing job at
another time.
Creating
a Maintenance Job (Netmailer Professional)
Netmailer
Professional helps you to accomplish the following e-mailing tasks:
- Process
subscribe requests
- Process
remove requests
- Validate
e-mail addresses
- Identify
undeliverable e-mail addresses
Netmailer
can monitor a designated e-mail box for subscribe and remove requests,
and process the requests as you specify. In addition, Netmailer can validate
and check e-mail addresses for incorrect syntax, remove them from the
mailing list, and optionally, add them to a list of invalid e-mail addresses.
To
create a new Maintenance job:
- Start
Alpha Five and open a database.
-
Right-click
on a table or set, and select Addins
> Netmailer >
Maintain List, then click the New Job button.
- The
Netmailer Maintenance Job Genie appears.
-
From
the Add Table and E-mail Field drop-down lists, select a table and e-mail
field for storing subscription e-mail addresses.
- The
table you select should be the Source table for a Netmailer job.
- Click
Next.
- From
the Remove Table and E-mail Field drop-down lists, select a table and
field for storing Remove requests.
- The
table you select can be the Exclude table in a Netmailer job and must
be different from the Source table.
- Click
Next.
- This
table must be different from the Source and Remove tables. If the table
does not exist, Netmailer will create it for you.
-
Click
Finish.
- The
Maintenance Job Genie closes and the Netmailer Maintenance Editor and
toolbar appears. In the configuration dialog, you finish specifying the
parameters for your Netmailer Maintenance job.
Configuring
a Maintenance Job
You
use the Netmailer Maintenance Editor to specify Subscribe, Remove, Undeliverable,
and Validation parameters.
To
configure a Maintenance job:
- Use
the Subscribe window to specify the following parameters:
- E-mail
profile to check for subscription messages.
-
Criteria
for adding a message to the subscribe table:
- You
can specify multiple keywords in the subject field that identifies an
email as a subscribe request.
- Field
for e-mail addresses added to the subscribe table.
- Advanced
Options for specifying what to do with messages on the POP3 server.
- Only
download messages with matching keywords for subscribe requests or download
every message on the server.
- Delete
all messages from the server.
- Check
for subscribe messages when the maintenance job runs.
- Use
the Remove window to specify the following parameters:
- Table
to store remove requests.
- E-mail
profile to check for remove messages.
-
Criteria
for adding a message to the remove table.
- You
can specify multiple keywords in the subject field that identifies an
email as a remove request.
- Field
for e-mail addresses added to the remove table.
-
Advanced
Options for specifying what to do with messages on the server.
- Only
download messages with matching keywords for subscribe requests or download
every message on the server.
- Delete
all messages from the server.
- Check
for remove messages when the maintenance job runs.
- Use
the Undeliverable window to specify the following parameters:
- Table
to store undeliverable e-mail addresses.
- E-mail
profile to check for undeliverable messages.
- Criteria
for undeliverable messages, including the specified subjects and senders.
- Check
for undeliverable messages when the maintenance job runs.
- Use
the Validation window to specify the following parameters:
- Validate
e-mail addresses interactively.
- Perform
specified action on invalid e-mail addresses without prompting.
- Specify
how to handle invalid e-mail addresses.
- Table
and field for storing invalid e-mail addresses.
- Check
for invalid addresses when the maintenance job runs.
- When
you finish specifying the Netmailer Maintenance job information, use the
toolbar buttons to save and run the job.
Function
List
The
following table contains Netmailer functions.
|
Function
|
Description
|
|
L a5_run_netmailer_job
( C name, [C filter [,C order]])
|
Run a saved Netmailer job with additional filter and order criteria.
Name is a fully qualified name name@<data dictionary>, i.e.Mailing@customer.ddd.
lUI defaults to .T. and if set to .F. will not display any user interface.
|
|
C a5_run_emmj
( C table_set_name )
|
Choose a Netmailer Maintenance Job from a table_set_name and run it.
|
|
L a5_email_valid(C
address )
|
Returns .T. if address is a correctly formed email address, .F. otherwise.
Example:
? a5_email_valid("aaron@alphasoftware.com")
= .T.
? a5_email_valid("aaron@alpha@alphasoftware.com")
= .F.
|