Set Up

This chapter describes how to set up information such as from email addresses, mailing groups and email templates. It assumes that the basic functionality necessary for your server to send and process emails in the first place has already been configured. See "System Configuration" for details. 

Configuring the domain information

Your domain information is basic information about your organization: name, a short description, your email address and your physical postal address.  CiviMail requires that you include the sender's physical address along with unsubscribe/optout links in any mass mailing you send, in order to comply with privacy laws in many countries. This information is made available via tokens and must be included in any mail sent with CiviMail.

To configure the domain information, go to: Administer > Configure > Domain Information.

Mailing groups

CiviMail uses Groups to draw in recipients of mass mailings. To create a group, go to: Contacts > New Group. When you create and configure a Group for this purpose, make sure to check Mailing List so that it is available as a Mailing List in CiviMail.

You can also create Smart Groups based on search results. For example, based on the results of Advanced Search you can create a Smart Group of contacts who have active memberships, or a Smart Group of contacts in a given city. The Smart Group membership will always match the search criteria at any given moment. This makes it possible to to send mailings without having to first update the contacts in a group.

To create a Smart Group:

  1. Go to Advanced Search or Find Contact and run a search query based on the criteria for your group.
  2. On the search results page, click the radio button that selects all the records.
  3. Click on - more actions -, select New Smart Group and then click Go.
  4. The next screen provides a review of the criteria chosen for the Smart Group. Give the Smart Group a name and (optionally) a description, and make the Smart Group a Mailing List.
  5. Click Save Smart Group.

Note: You can also create a Smart Group based on a Participant search. However, the Smart Group save page will not offer you the option to make this group a Mailing List. To make this Smart Group available to CiviMail, you must change its settings through Contacts > Manage Groups. This same thing happens if you use the Advanced Search and choose Event Participants under "Display results as" .

You cannot create smart groups based on Membership, Contributions or Pledge searches. This apply to results of an Advanced Search if the "Display results as" option is set to anything but Contacts. 

Allow people to sign up for your mailing lists online

CiviCRM makes it possible for people to sign themselves up to mailing lists online. To do this, you must designate the group as a mailing list.

Click Contacts > Manage Groups. Click Settings on the group that holds your mailing list recipients and check Mailing List.  You must also change the Visibility to Public Pages.   

This will be any Group of the Mailing List type with visibility set to Public Pages. For this to work for users who don't have a log-in to your CiviCRM, you must ensure that anonymous users in Drupal have the following permission checked: "Access CiviMail subscribe/unsubscribe pages". 

You and anyone who accesses the following link can subscribe to these mailing list groups: This is one way that users can subscribe to an email list online.

After people subscribe to groups on this page, they will be sent an email asking them to confirm their subscription and their details will appear in CiviCRM with their group subscription set to Pending. When they click the confirmation link in the email, their group subscription will be set to Added. Note: When users subscribe to multiple groups at once, an confirmation email is sent for each group separately. 

Alternately, you can collect more information while people sign up to your mailing lists with the use of profiles.  

To do this, you must designate each group that you want people to be able to sign up for as a mailing list.

Click Contacts > Manage Groups. Click Settings on the group that holds your mailing list recipients and check Mailing List.  You must also change the Visibility to Public Pages.  

You must then set up a profile. For additional information on how to do this, see the Profiles chapter. 

For example, you could create a new profile called Newsletter Sign-up. Add the fields to this profile that you'd like website visitors who want to join your mailing list to fill out. Each of the fields in the profile must have a Visibility of Public Pages. For example, you may want to collect First Name, Last Name, and zip code or post code. For each of these fields, you must decide what information you require and what is optional.  

At the very least, this profile must include an email field that has the Required? checkbox checked. This is so that an email can be sent to the person to confirm that they wanted to sign up for the mailing list. Until they confirm, they will have a status of "Pending" in the mailing list group. 

You must add a field for the mailing lists groups that you want them to be able to sign up for. Do the following:

Click Add Field. For Field Name, select Contacts. When the possible selections load in the second field, select Group(s). In Field Label, you can leave "Group(s)" or you may want to change it to something more intuitive to your website visitors such as "Newsletter Sign-up". Visibility for this field must also be set to Public Pages. 

To allow people to actually use this form, you can either share a link directly or embed this set of fields in your website as a form. Return to the listing of profiles and click More to the far right of your profile. Click Use Profile-Create Mode. The link you want will appear in a new window or tab. You can this link to allow users to sign up for your mailing lists. 

Alternately, you can embed this set of fields as a form in your website. Navigate to Profiles from the Administration menu and click More. Select HTML Form Snippet. Copy and paste the contents of the window that appears into a page on your website. Website visitors will be able to sign up to your website on this page. 


Creating and maintaining message templates

The easiest way to create a new message template is to check the "Save as New Template" on the message creation screen. This is available both when using "Send an email" as activity and sending a mass mailing.

You can create message templates from scratch or edit existing templates by going to Administer > Configure > Message Templates OR Administer > CiviMail > Message Templates.

  1. Click on New Message Template.
  2. Enter a Message Title and a Message Subject. You can choose to use tokens to personalize your subject line.
  3. Scroll down to the HTML Message section and create your template. There are online resources that offer instructions on creating an HTML Email Template. One suggestion is to find and copy an Email Template from a website that offers samples.
  4. One of the toolbar buttons at the top of this section lets you view the source code of your template. When you click on it, the template changes the view to show the HTML code that is being used. If you want to use HTML from a template you found externally, you need to switch to this view in order to paste in HTML code from the template. Make structural changes in your template in this mode as well.
Message templates are available even when CiviMail is disabled.

Tips for creating templates

HTML code allowed in emails is more restricted than HTML used for web pages. For instance, it needs to use tables for layout, inline CSS and must not include background images. Here are some tips for creating a template that will look good in all mail clients:
  • Table border: The HTML <table> element includes an optional border attribute. Since the default value is 0, it doesn't appear unless you choose to use it. Adding it (or editing it if it is available) and setting it to 1 (e.g., <table border="1">) allows you to see the edges of your table and helps identify potential places to fix problems. Please note that HTML email templates usually have multiple tables and nested tables (tables inside tables). Make changes one at a time and switch to the HTML view to see the results. A table usually has more than one parameter, so make sure to place spaces between parameters.
  • Table cellpadding and cellspacing: these table parameters are very useful when trying to improve the readability of your email. Play with these settings in different tables and see what works for you.
  • Width: Do not send an email that is wider than 600 pixels, to ensure maximum compatibility across email clients. Make sure your outermost table does not exceed 600 pixels. Do the same for any other tables inside your main table. Also make sure that the total width of each image does not exceed 600 pixels. Images have a width parameter, but they can also have a horizontal padding parameter that, if set, can increase the width of the image.
  • Images: these need to be online and accessible in order for you to use them. First edit your image so that its width and height is appropriate for your email template. Next save it so that its file size is as small as possible. If you do not have image editing software, or do not know how to use it, there are free online resources that can help you resize your image.

Creating headers and footers

Headers and footers are only available for mass mailings using CiviMail. This functionality is only available when CiviMail is enabled. 

The mail header is the area at the top of the email, which should include elements that you want to be always displayed before the main content body, such as the logo of your organization and the title of the newsletter.

The default footer, which is always the last thing in the email. The footer is an ideal place for the compulsory unsubscribe tokens.

You can manage headers and footers in Administer > CiviMail > Headers, Footers, and Automated Messages. Style them to present a coherent visual identity across all your messages. Both should be configured for maximum flexibility. For example, one or more headers can be created with different images and titles that can be used for different campaigns or programs.

After headers and footers are configured, staff who prepare a new mailing will be able to select them from available headers and footers. This helps staff create more standardized mailings with elements that help your readers identify the contents of the mailing or find information.

Testing templates

Once your templates are ready, we strongly recommend that you test them in various email clients, such as Mozilla Thunderbird, MS Outlook, Mac Mail and web-based e-mail such as Gmail, Yahoo and Hotmail. You can create a group that includes a test contact for each of those destinations and use it each time you create a new mailing.

Because email clients can display the HTML in emall very differently, we recommended that you keep the HTML as simple as possible and use only inline CSS or tables for formatting. Include as much of the layout as possible in the templates so that each new mailing will not require too much reviewing, the template having already been tested.

Plain text and HTML format

All messages can be sent either in plain text or in HTML. Today the vast majority of people can read messages received in HTML. However, the best practice is to offer the option to send a Plain text email version to ensure all recipients can view the message. Plain text email readers may display HTML email as blank. HTML email may also present accessibility issues to people using screen readers.

However, there is a danger that if users modify an email based on a template that contains both Plain Text and HTML, they will forget to modify the Plain Text version of this message. This will mean that people using Plain Text only email clients will receive a different message.

The solution is to either use Plain Text emails only or to set templates without the Plain text option and ask users to create a Plain Text version before sending mailings.

To create a plain text version of a message from HTML, follow these steps:

  1. Copy HTML text into the Plain Text field
  2. Copy the URLs of all links in the appropriate places in the Plain Text field
  3. If the HTML text contained tables, modify the layout to ensure text is readable 

Auto-filing email conversations in CiviCRM

You can set up automatic filing of your inbound and outbound emails that are in your usual email program. They get filed as an activity for the contact(s) that match the email addresses in the From, To, and Cc fields. If the email address is not already in the system, a new contact record will be created.

For this, your administrator should have configured IMAP or other mail accounts and set them up in CiviMail (see Email System Configuration in Basic Setup for more details).