Scheduled Emails sent from non-Production database after refresh

When refreshing a non-production environment with a production database, Messages or Scheduled Emails set to send in the future will send from the non-production database when the scheduled time arrives.

The best practice for this scenario is to disable access to Blackbaud Communications Services in the non-production environment.  We suggest connecting to Blackbaud Communications Services from ONLY the production database.  There are a few strategies that can accomplish this: 

Beginning in version 4.0, Service Pack 3; there are a pair of web.config entries that can be utilized to block the sending of either all email jobs, or of BBIS scheduled email jobs.  These settings keys are:  <add key="BlockAllEmails" value="False" /> and <add key="BlockScheduledEmails" value="False" />. More information can be found in the Service Pack 3 Release notes: https://www.blackbaud.com/files/support/downloads/bbec/crm40sp3rn.html

In versions prior to 4.0, Service Pack 3, 
  1. In the non-production database, remove the hostname and/or service credentials entered in BBIS > Administration > Sites & Settings > Web Services > Blackbaud Services.  This will prevent access to the email servers.
  2. Have your IT team configure firewall rules to block access to Email Server IPs from non-production environments.
For those who wish to connect multiple databases to Communications Services, the series of steps below is suggested.  The scripts available as an attachment to this Knowledgebase article can be used to disable schedules and clear queued jobs:
  1. Run script 1PRODUCTION_PreBackup on the Production database to disable email job processing
  2. Create a backup of the Production database
  3. Run script 2PRODUCTION_PostBackup on the Production environment to enable all email jobs
  4. Restore the backup from step2 to the non-production environment
  5. Run script 3STAGING_PostBackup against the non-production environment to disable scheduled emails and clear queued email jobs. It then re-enables the email processes.
  6. Run script 4STAGING_PostRefresh on the staging environment.  This will provide a list of all email jobs in staging environment for review. 
For clients hosted by Blackbaud, as of 9-22-15 we automatically prevent scheduled emails from sending from non-production environments. 
  Email Scripts.zip

Was this article helpful?