E-Mail Broadcaster

This E-Mail Broadcaster functionality is an optional add-on to the basic SendSafe system.

The E-Mail Broadcaster gives you the power to send e-mail to all your existing customers without worrying about following anti-spam rules. With the broadcaster you will only be able to send e-mail to your customers, and only to customers who have not opted out. Since the customer has the ability (using their MyAccount page) to opt out of receiving e-mail, you will not unintentionally violate any of the anti-spam guidelines by sending e-mail to a customer which has requested to no longer receive e-mail. Since new customers are automatically added to the broadcast lists you will not have to manually maintain master lists. Each admin account with permission to send e-mail has its own master-list.

The e-mail broadcasting system works in two different modes:

  1. Using the I-CRM smart emailer integrated into SendSafe (called I-CRM Record Broadcasting)
  2. In tandem with the listserver functionality of your e-mail server.
**You cannot use option #2 broadcasting unless you have access to an e-mail server with listserver functionality. Support for remote listserver access can be added to SendSafe by CPrompt for a nominal development cost.

I-CRM broadcasting is a slower broadcast but offers greater flexibility and ability to perform mail-merging on outgoing messages. ListSever broadcasting is a faster broadcast but offers less flexibility and NO mail-merging on outgoing messages.

Sections:
Overview
I-CRM Record Broadcasting
I-CRM Testing - Test mode
I-CRM Setup
E-Mail Signup Function
How to create Image-Linked HTML E-Mail
E-Mail Broadcast Reports
Choosing listsever reipients
Steps to send an listsever e-mail broadcast from Outlook
Automatic listsever customer inclusion in lists
ListServer E-Broadcasting Configuration
Listsever E-Mail Broadcaster Job
ListServer Record E-Mail Broadcaster Job
ListServer E-Mail Broadcaster Job Tracking job
ListServer Techinical Details
ListServer Job Status

 


OVERVIEW

The e-mail broadcaster can be used to send generic e-mail as well as automatically generated e-mail.

With I-CRM record Product and CSC e-mail blasts, you can include specially defined advertisements at the beginning and end of the blurb. These advertisements can be used for:

The I-CRM record CSC e-mail blast can be used to create standard set of reusable e-mails or a one time e-mail. Using I-CRM CSC is the typical way e-blast are authored and sent.


I-CRM RECORD BROADCASTING

I-CRM Record broadcasting is the ability to send broadcasts of specific database records. For example: You can broadcast a CSC record or an items record (note: Item Record broadcasting done from the Items admin page is NOT I-CRM; I-CRM broadcasts of items record must be done manually outside of admn pages by manuall queuing I-CRM jobs).

For more information please see CSC Record and I-CRM E-Mail

I-CRM record broadcasting will create a formatted e-mail from the CSC record and send it to all recipients. This is a great way to e-mail out messages and announcement to all your customers.

Item record broadcasting will create a formatted e-mail describing this item and send it to all recipients. This is a great way to e-mail out a new product announcement.

Record broadcasts are easy to send, all you have to do is press a single button found on the admin page for that record.

I-CRM E-Mail is the subsystem which send these types of broadcasts. The Admin page sending the I-CRM broadcast will setup the Job 33 for you. All customer will be selected to receive this I-CRM email unless they have previously opted out of e-mail broadcasts.

The types of records which can be broadcast are:

 


I-CRM TEST MODE

Test mode can be used when performing I-CRM record broadcasting. In test mode an e-mail is sent only to a designated test e-mail address AND not the entire list. The test e-mail address is the "notify e-mail address" entered into the record (item or CSC) Admin page. If a supervisor e-mail address is configured, this address will also receive a test copy. The email address used in the test mode must be found in a customer record in the database. If this email address is not in a customer record then nothing will be sent.

 


E-MAIL SIGNUP FUNCTION

This function will render a small sign-up form which creates stub customer records with email address and Optin set true. The function will not allow duplicate email addresses. Each account is created with null credentials so it cannot be used to login but will be included in all integrated email broadcasting functions.

Notes:

function render_signupForEmail( formBaseName, buttonFile, buttonHeight, buttonWidth )

Param Description
formBaseName This is the base name for the form. This name must not conflict with other forms on the page
buttonFile This is the path+name of the image file to use as button
buttonHeight This is the height of the button image
buttonWidth This is the width of the button image

 


CHOOSING LISTSERVER RECIPIENTS

E-Mail broadcasting requires Selecting a list of customers to receive the broadcast. you can use managed lists or unmanaged lists. For managed lists, SendSafe automatically builds the list for you from the customer base. for unmanaged lists, you maintain the list on your e-mail server and send safe uses what you have created.

For unmanaged lists: Create the mail list on your e-mail server:

  1. Create an e-mail list (listserver) on your e-mail server.
  2. Set EBROADCAST LISTFILE = <none>
  3. Add the tracking e-mail account to the list you manually create (i.e. EBROADCAST TRACKING EMAILADDR).

For managed lists: Start by opening the E-Mail Broadcaster Admin page then follow these steps (which are also list on the Admin page).

  1. Open the Admin page and press the [ Display List ] button. The results will be a list of all customers which you can e-mail. If the list is too big to be displayed at once, you will see a warning message. You can limit the list size by entering names, company names, and date ranges (more filters can be added for a small additional develop fee).

  2. Use this list of recipients to select who you want to e-mail. This is done by selecting and removing customers from the list. You select a customer from the list by placing a "1" in the include column next to it. You exclude a customer from your list by placing a "0" in this column. The easiest way to see this is to try it out.
    Please note that you cannot update customers who have opted out of the e-mail list. Customers who have opted out will have a value of zero (0=Optin) found in the Optin column of the list of customers.

General Notes for Managed and Unmanaged lists:

  1. When using the Outlook e-mail option, never submit more than one broadcast job at a time for the same admin login. Wait until one job is over before starting another. Different people with different admin logins can submit job concurrently.
  2. The system will only process HTML e-mail. When using the Outlook option do not send ASCII text only e-mail.
  3. When the broadcast starts you will receive either a status message that it has started or an error message.
  4. When the broadcast is done you will receive either a status indicating it is complete message or an error message.


SENDING LISTSERVER E-MAIL BROADCASTS FROM OUTLOOK

E-Mail broadcasting from Outlook can be used to send quickly formatted broadcasts. This method of broadcasting from is inferior to using record broadcasting.

E-Mail broadcasting from Outlook (or other e-mail programs) requires two steps: (1) Selecting a list of customers to receive the broadcast and (2) Drafting the e-mail to be sent.

Start by opening the E-Mail Broadcaster Admin page then follw these steps (which are also list on the Admin page).

  1. A special e-mail address and subject prefix must be included in the e-mail you send from Outlook. The correct values will be listed on the admin page. For example:
    Subject: "7208@MYSITE Enter Your Subject
    To: "emb@mybiz.com"
    You would send the e-mail from Outlook to "emb@mybiz.com" and your subject would be: "7208@MYSITE We Sell Apples" which would result in a subject line of the e-mal blast being set to: "We Sell Apples"
    The special ID code: 7208@MYSITE would not be included in the subject.

  2. Once you have sent your e-mail from Outlook, enter your personal e-mail address in the "status messages" entry field and press the [ Start E-Broadcast ] button.

  3. You will receive status e-mails sent from the system to the peronsal e-mail address you entered into "status messages" entry field.


How to create Image-Linked HTML E-Mail

Image-Linked HTML E-Mail is the proper and respectful way to send e-mail with images in it. This type of e-mail does not contain the images (which can be very large and slow to download). Instead this type of e-mail sends only links to the images which are located on your web server. The result is e-mail that is smaller and can be download by the recipient quickly.

  1. To create Image-Linked HTML E-Mail you must have a website.
  2. Before you create your e-mail, upload all the pictures you will use to the website using the SendSafe image upload tools or FTP.
  3. Using the SendSafe built in CSC HTML editor, an ASCII Text editor, OR your favorite HTML editor, create the body of your e-mail.
  4. When adding your images make the link an absolute URL which include the full path for the image (i.e. http://www.mysite.com/image/image.jpg).
  5. You may want to save the webpage you create in a separate file as a template for reuse in the future. You may even want to build an entire collection of templates.

 


REPORTS

You can create reports which show how many e-mail jobs you have run and how many e-mails went out in that job. These reports are useful to keep track of when an e-broadcast went out and billing.

Entries labeled with a customerId = 0 are jobs that were sent out automatically by the I-CRM subsystem.

Run a report click on the "E-Broadcast Report" navigation link on the web page.


AUTOMATIC LISTSERVER CUSTOMER INCLUSION IN LISTS

New customers can be automatically added to all master lists. The EMBDefaultOptIn flag controls whether a new customer is automatically added.

If the EMBDefaultOptIn flag is set to 1 then all your lists will have all new customers added with no action requird by you or the customer.

If the EMBDefaultOptIn flag is set to 0 then all your lists will have all new customers added automatically only if the customer Opts in. The customer can optin or out by going to their MyAccount page and changing their E-Mail Settings.

You can present the new customer with the option of opting in or out during the checkout process. If you have an agreement page then this page can also be used to ask the customer if they want to optin or out. If you do not have an agreement page then the customer can be presented with a page which asks only the question whether they want to opt in or out. The agreement / optin page can be configured to be displayed every time a customer checks out OR only the 1st time a new customer checks out.

*The agreement page is part of the base SendSafe system but will require some configuration before use.


LISTSEVER E-BROADCASTING CONFIGURATION

See also: CustomersExt DB Records

The basic steps to configure E-Mail Broadcasting are: setup your e-mail accounts, your list, and Sendsafe. The e-mail broadcasting system is compatible with VisNetic / IceWarp e-mail servers and any other server that supports a similar e-mail list format (support for additional servers can be added by CPrompt for a nominal cost). You must have direct network fileshare access to the e-mail server. The e-mail list will be constructed by SendSafe before each broadcast.

Step 1: Create the job tracking and relaying mailbox account. This account should be created on all e-mail servers for a domain . This is the E-Mail Broadcast Account which receives job tracking e-mail and relay e-mail destine for listserver. This account has two e-mail aliases:

Setup the following account criteria:
  1. Disable spam checking
  2. Delete all e-mail after 1 day
  3. Setup a "Remote Accounts" collection tool on the server which will will be running the listsever.

Step 2: Create E-Mail List on the server which will be the broadcaster.

  1. Typical name for the list is bcast@yourdomain.com
  2. The list should be setup to NOT echo (cc:) copy outgoing e-mail to the list owner(s).
  3. Setup security so that only owners can send e-mail to the list.
  4. Typically, setup outgoing bandwidth limiter to 30 e-mails per minute.
  5. Include the EBROADCAST SHARED EMAILADDR as one of the list owners.
  6. Setup a from address for the list which is NOT EBROADCAST TRACKING EMAILADDR
  7. Make sure "Set recipient to To: header" is selected. Doing this will insure that all outgoing broadcasts will have a TO: address of the recipient.
  8. Set "originator" to sender. Doing this will insure that outgoing e-mail have the FROM: address set to the sender (emb@yourdomian.com). This will also be the bounce back address.

Step 3: Configure the Global.inc.asa file for broadcasting by entering the E-Mail Broadcast Account, default optin state, and enabling broadcast operation.

Step 4: Configure the SendSafe storefront.config file for broadcasting by entering the e-mail server domain name and account credentials, the E-Mail Broadcast account, the E-Mail Broadcast tracking account, the e-mail list e-mail address, and the path to the e-mail list file.

Once the system is configured, we recommend that you run a few test e-mails to a small number of known individuals.
 

SendSafe global.inc.asa file:

Keyword Description
Application("EMBroadcastEnabled") = false Set true / false to enable and disable the optional function.
Application("EBroadcastSharedEmailAddr") = "info@yourbiz.com" DISPLAY ONLY
E-Mail address to send outlook broadcasts (see: EBROADCAST SHARED EMAILADDR). This value is for display only and appears on the e-broadcast page as the suggested address to send your trigger e-mail from Outlook. This address is not used by any record broadcast functions.
Application("EMBDefaultOptIn") = 1 Default state for OptIn flag (0/1). This flag controls whether a new customer is automatically added to the e-mail list of if they must take action to request addition to the list.

SendSafe storefront.config file:

Keyword Description
EBROADCAST POP3 USERID = JohnDoe

The POP3 tracking account used for this list manager. Also used for ESMTP authentication or POP-Before-Send for I-CRM email blasts.

This account will be polled by SendSafe for trigger e-mails sent from Outlook for relaying to the listserver list.

This account will be polled by SendSafe for e-mail broadcast tracking e-mail which will be sent from the listserver.

EBROADCAST POP3 PASSWORD = password The POP3 tracking account used for this list manager. Also used for ESMTP authentication or POP-Before-Send for I-CRM email blasts.
EBROADCAST MAILSERVER = mail.yourbiz.com The domain name of the e-mail server to use for broadcasting.
EBROADCAST SHARED EMAILADDR = emb@yourbiz.com

commanly named: emb@yourbiz.com

This is the owner e-mail address for the list. This owner address will be automatically added to the beginning of the list.

When using an optional trigger or source e-mail, that e-mail will be sent to this address from Outlook.

This e-mail address is typically the "from:" address used for all e-mail sent into the listsever. This address is often used as the return address (bounce back) for e-mail broadcasts. This configuration is made in the e-mail listserver list setup.

The listsever list must NOT BE setup to echo a cc: copy of outgoing e-mail to this address.

EBROADCAST TRACKING EMAILADDR = echoemb@yourbiz.com

commanly named: echoemb@yourbiz.com

This is the address to which the tracker job e-mail is sent.

This e-mail account should be used for no other function than tracking.

This address is automatically added to the end of the e-mail list. When this mailbox (pop3 username) receives a copy of the e-mail broadcast then SendSafe knows that the entire list has been sent by the listserver.

This address should never be used as the return address for e-mail broadcasts

EBROADCAST LIST E-MAIL ADDR = bcast@yourbiz.com The SMTP e-mail "list e-mail address" to which all broadcasts are sent.
EBROADCAST LISTFILE = \\servername \c$ \EmailServer \lists \mylist.txt

In managed list mode set to: the complete UNC path and filename

In unmanaged list mode set to: <none>

EBROADCAST LIST ENTRY FLAGS = ;1; List server flags appended to each e-mail address entry in the list (except the owner entry).
EBROADCAST SUPERVISOR EMAILADDR = supervisro@yourbiz.com Optional e-mail address which will be cc: copied on all outgoing e-broadcasts (set to <none> to disable).

 


LISTSERVER BROADCASTING JOB

This is the job which manages the lists and intiates a broadcast. This job is queued by the broadcast admin page when a job is started. This job will create a record in the EMBroadcast table.

This function is run by a JobQueue job which looks like the example below:



Parameter value
param1 e-mail address which will receive job status / acknowledgement e-mails.
param2 n/a
param3 Owner-CustomerID

 


LISTSERVER RECORD BROADCASTING JOB

This is the job which creates an broadcast e-mail for the specified DB record, manages the lists, and intiates a broadcast. This job is queued by the broadcast admin page when a job is started. This job will create a record in the EMBroadcast table.

This function is run by a JobQueue job which looks like the example below:



Parameter value
param1

[e-mail ack address];[subject]

E-mail address which will receive job status / acknowledgement e-mails. The subject is the subject line in the e-mail broadcast.

param2

[objectType];[RecordID];[TESTMODE]

Legal object types are any database table suported by the job (i.e. ITEMS, CONTEXTSENSITIVECONTENT, etc.). The recordId is the primary key for the record. [TESTMODE] is an optional flag which sets the job into TEST MODE where the only e-mail addresses to which the broadcast is sent are:

  • EBROADCAST SUPERVISOR EMAILADDR (if present)
  • EBROADCAST SHARED EMAILADDR (list owner)
  • e-mail ack address

param3 Owner-CustomerID

 


LISTSERVER BROADCAST TRACKING JOB

This job tracks and manages currently running broadcast jobs. This job is automatically queued by the system once a broadcast job has started. This job gets all its information from the EMBroadcast table.

This function is run by a JobQueue job which looks like the example below:



Parameter value
param1 e-mail address which will receive job status / acknowledgement e-mails.
param2 n/a
param3 EBJobTrackingId (see also: EMBroadcast)

 


LISTSERVER TECHNICAL DETAILS

E-Mail List format: The e-mail list use by the e-mail server must be an ascii file with a format that matches what is illustrated below:

listowner@yourbiz.com
listsupervisor@yourbiz.com
name1@mybiz.com;1
name2@mybiz.com;1
name3@mybiz.com;1

In the above illustration, the listowner and supervisor names are added to the list without any postfix. All other names are added to the list with the postfix ";1" - where this postfix is configurable by the keyword EBROADCAST LIST ENTRY FLAGS. The function of these postfix flags is listserver security. The flags typically control from which accounts broadcasts can originate. The listowner account (designated in the SendSafe system by E-Mail Broadcast Account) is always the first account in the list and contains no flags (which typically grants this account full broadcast privileges). The meaning and functions of these postfix flags are defined by your e-mail server and not SendSafe.
 

E-Mail format: Each e-mail must be in HTML e-mail format. Plain ascii text e-mail is not supported by the broadcast system. Each e-mail that is broadcast is invisibly tagged with a unique job number which identifies from which broadcast job the e-mail originated. This tracking number is used by the SendSafe system to match a tracking e-mail to its job; and make the determination that a broadcast job has been completely processed by the listserver. The syntax of this invisible tag is: "</body>\n\n<!--[JID=JobNumber]--></html>
 

Database Operation: The DB columns in the Customer Record which control inclusion of a customer in a specific e-boradcast are:

The MBMembership value is the primary control used by the administrator when a master list is managed. This value controls whether a specific customer will receive a broadcast sent by a specific administrator. Each administrator account has their own master list and this master list is defined by the state of this data column.

The MBBlockedFlag value is set to 1 if this customer is blocked from recieving e-mail. This flag is set by an administrator and unlike values in the MBMembership value which are unique for each admin, changes to MBBlockedFlag are global and effect everyones ability broadcast e-mail to this address.

The MBOptIn value is conrolled by the customer. They have the ability to set this column to 0 which means no e-mail will be sent to this customer. The customer controls the state of this value on the MyAccount page. This value cannot be changed in the E-Mail Broadcasting Admin page.

Customer records are selected for inclusion in the list using the folowing SQL which run by the SendSafe robot on-the-fly as each temporary e-mail broadcast list is constructed:

Select distinct email from addresses, customers, customersExt
where
addresses.addressCodeId = customers.AddressID AND
CustomersExt.CustomerID = customers.CustomerID AND
( MBBlockedFlag = 0 or MBBlockedFlag is null ) AND
( MBMembership not like '/%ABC%/' or MBMembership is null ) AND
MBOptIn > 0
order by email
**Where ABC = the Owner-CustomerID of the admin account under which this e-broadcast was sent. This column controls the makeup of each admin's master list of customers.


LISTSERVER JOB STATUS

For web submitted jobs (jobcode=28), the EMBroadcast record will list the number of e-mails sent after the job has been transmitted to the e-mail server. The completion of the job will not be confirmed until the tracking job has be triggered; at which time the MBendDateTime will be set.

For outlook submitted jobs (jobcode=14), the EMBroadcast record will list the number of e-mails sent after the job has been transmitted to the e-mail server. The completion of the job will not be confirmed until the tracking job has be triggered; at which time the MBendDateTime will be set.

In both types of jobs the following can be inferred:

  1. The job is successfully going out when the e-mail count has been set into the EMBroadcast record.
  2. The job has been completed when an MBendDateTime date has been set into the EMBroadcast record.

Useful SQL:

select * from EMBroadcast 
where MBendDateTime is null

select top 5 * from EMBroadcast 
where MBendDateTime is not null order by MBStartDateTime desc

select * from jobqueue 
where jobcode = 28 or jobcode = 14 or jobcode = 15 order by jobcode desc