Checking Progress in Mass Emails

2 minute read time.
In Sage CRM you are able to send mass emails from either the Search screens or from the Group screens via the email button.

For example if you logon as the System Administrator you will be able to navigate to the person find screen and search for people with the address City 'Reading'. In the default demo system you would find 20 persons.

The Action button "New E-mail" appears.

if you were to click the button and send the emails then what happens is that the communications associated with the emails are created immediately. A separate thread is then started that will step through each email in turn and depending on the system configuration sending the emails via CDONTS or directly to the SMTP server.

So this creates the question, what happens if a problem occurs that prevents the sending? The Mass E-mail Status tab under the Marketing area allows you to monitor the progress to the sending of the emails.

As each email is sent a flag on the comm_link table is set for each queued communication associated with the Mass Email. The field is cmli_massemailsent and when the email has been sent it is competed with 'Y'.

The cmli_massemailsent field is only used for Mass Emails and as the field is initially null there is a problem with distinguishing in the table between records that represent a mass email that has not yet been sent and one that was sent simply as an ad-hoc email via the internal email client.

There are some fields that may help us in the communication table:

comm_targetlistid in the communication table holds the ID of the Group (or Target List) that was used. In the case of a Saved Search this field holds the value -2 whether the associated find screen was for lead or person etc.

Another technique we could use is to make sure that communication associated with the mass email is always linked with a wave activity (comm_waveitemid). This field appears in the communication "EmailFilingBox" screen. This field could be made mandatory for Mass Emails using a createScript:

Required=true;

We can see that Mass Emails use the cmli_massemailsent field and that we can also see how the other fields like comm_targetlistid and comm_waveitemid can be used. This knowledge should allow us to construct reports to monitor progress and also help identify emails not sent in case of problems.