Setting up Direct Mailer

You set up Direct Mailer by selecting to install the Direct Mailer components in the Microsoft Commerce Server 2009 R2 Setup program. You then configure the Direct Mailer service and database in the Commerce Server 2009 R2 Configuration Wizard. For information about how to install the Direct Mailer components and how to use the Configuration Wizard, see Installation and Initial Configuration.

You create the DirectMailer database automatically in SQL Server when you install Commerce Server.

Direct Mailer uses the following databases:

  • DirectMailer database. Contains the details and information associated with the Direct Mailer job. Direct Mailer uses this database to manage mailing lists, maintain job history, and schedule repeating Direct Mailer jobs.

  • Marketing database. Contains the details and information associated with direct mail campaign items. Direct Mailer puts the direct mail campaign information that is stored in the Marketing database into the DirectMailer database. When the information is in the DirectMailer database, Direct Mailer composes and sends the e-mail messages.

  • Marketing Lists database. Contains the details and information associated with mailing lists. Direct Mailer puts the mailing list information that is stored in the Marketing Lists database into the Direct Mailer database. When the information is in the DirectMailer database, Direct Mailer composes and sends the e-mail messages.

  • Profiles database. Contains the details and information associated with profiles. The list manager generates mailing list information from the Profiles database and passes this information to Direct Mailer. When the information is in the DirectMailer database, Direct Mailer composes and sends the e-mail messages.

Direct Mailer operates at the Commerce Server global resource level.

You can create, run, monitor, and delete Direct Mailer jobs, in addition to performing job startup and recovery tasks, by using Marketing Manager or through a command line interface supplied by Direct Mailer. You can access the command line interface by running dmlrun.exe from your %commerce_server_root% directory. To modify properties of a Direct Mailer resource, you can use Commerce Server Manager. To reconfigure the Direct Mailer service, for example to reset the database or changing the service account, use the Configuration Wizard.

Direct Mailer performs the following:

  • Manages recurring e-mail messages as Direct Mailer jobs.

  • Prepares non-personalized message bodies.

  • Generates personalized messages from an ASP.NET file.

  • Formats e-mail message headers.

  • Sets the code-page value (language) and converts message bodies to the correct message type (MIME Encapsulation of Aggregate HTML Documents (MHTML), MIME, or text).

  • Quickly processes large lists of recipients to whom you want to send e-mail messages.

  • Makes file attachments possible.

The following steps show the workflow for Direct Mailer:

  1. Develop the content that you want to deliver to the recipients.

  2. Create a direct mail campaign in Commerce Server Marketing Manager.

  3. Execute the direct mail campaign in Marketing Manager or using the dmlrun.exe command line tool.

  4. Direct Mailer populates the list of recipients from the Marketing and Profiles databases, passing the database connection strings stored in the Administration database.

  5. Direct Mailer prepares the e-mail messages for your mail server to deliver to the recipients.

Direct Mailer Requirements

Direct Mailer uses Microsoft SQL Server as its database. For more information about SQL Server, see SQL Server Books Online.

Microsoft Windows Server includes the following components, on which Direct Mailer is dependent:

  • Microsoft ActiveX Data Objects (ADO). ADO enables Direct Mailer to access and manipulate data in its database. To access data on one or more computers that are running SQL Server, ADO uses OLE DB Provider for Microsoft SQL Server.

  • Microsoft Windows Collaboration Data Objects (CDO). CDO provides a set of COM interfaces through which Direct Mailer operates. Direct Mailer primarily uses two major CDO interfaces: IMessage and IConfiguration. These enable you to compose, format, and send Simple Mail Transfer Protocol (SMTP) messages over the network, and perform local delivery.

Direct Mailer uses a high-performance personalized mail generation engine. A simple two-tier Direct Mailer setup with one Direct Mailer server and one personalization Web server can generate personalized messages at a rate of 40 messages per second. This translates to more than 3.5 million personalized e-mail messages per day over a 24-hour period.

Mailing List Configuration

You can use the New List Wizard in Marketing Manager to create a new mailing list for Direct Mailer, or you can create a new list programmatically. For information about how to create a mailing list by using the Marketing Manager, see How to Create a New Direct Mail List. For information about how to create a mailing list programmatically, see How to Create a List in the Marketing System.

Message Formats

Direct Mailer supports four types of message formats: text, MIME, MHTML, and HTML. The message format controls the type of format into which the CDO translates the results:

  • Text. Formats the mail in ASCII format.

  • MIME. An official Internet standard that specifies how you must format messages so that you can exchange them between different e-mail systems. MIME is a flexible format that extends the SMTP to allow for transmission of data, such as video, sound, and binary files by Internet e-mail without having to translate it into ASCII format first.

  • MHTML. Sends parts of a Web page or a whole Web page as a message in HTML format. The message can include all or sections of the HTML formatting, graphics, and other elements that the original Web page contains. Most resources that are part of the page are included in the message. The resources that are not included are sounds (HTML BGSOUND elements) and objects (HTML OBJECT elements).

  • HTML. Sends parts of a Web page as a message in HTML format. All resources on the Web page (such as images, style sheets, frames, and so on) are not downloaded as part of the message.

MHTML enhances MIME to provide a more flexible communication of HTML documents. The message can include other linked documents in a MIME multipart/related body part. CID (Content-ID) URLs or any other type of URL can provide links in the HTML to other included parts. You can identify the linked body part by examining the heading for either a Content-ID (linked to by CID URLs) or a Content-Location (linked to by any other type of URL).

If you want to prevent the Direct Mailer service from formatting e-mail as MHTML, and send the HTML output of the ASP.NET page without any change in the e-mail message, use the ComposeDMLMessage component in Direct Mailer. You can find this component in the "Compose e-mail" stage of the DMLPipe.pcf file at the following location: %commerce_server_root%\Pipelines.

Message Sources

Direct Mailer can use a URL or a file path as a message source. If you use a file, you must verify that the file resides in a directory that Direct Mailer can access.

For performance reasons, Direct Mailer preloads the file content into memory, limiting the file size in memory. The file can be any size, but only the first two million ASCII characters or one million Unicode characters are loaded into memory.

Direct Mailer can construct message bodies from either Web pages or static files. You can also extend Direct Mailer to construct messages that use other sources, such as SQL Server templates, by adding custom components to the Direct Mailer pipeline. The Direct Mailer pipeline runs components to screen potential recipients, personalize e-mail, and send personalized e-mail. You can add new components to the pipeline, integrate the components with line-of-business systems, or replace them with components supplied by third parties.

The only way to send individually personalized e-mail is by using a Web page. To deliver personalized message bodies, you must first develop the personalized Web page. You send targeted e-mail messages by using Direct Mailer by using customer information and custom ASP.NET pages. Direct Mailer acts similarly to a Web browser by gathering the UserID for the customer from a cookie, by using the Profile service to obtain the user profile, and finally, personalizing the page. You can view a sample SDK page at %commerce_server_root%\Extensibility Kits\Samples\Marketing\DirectMailPage.aspx.

Note

You can access the sample code by extracting the .zip archive in the samples folder you selected when you installed the Commerce Server 2009 R2 SDK Samples. In order to use these samples it is assumed that you have extracted them.

If you specify a text attachment when you send e-mail in MHTML format from Direct Mailer, the personalized Web page will appear as an attachment when viewed by using Microsoft Office Outlook. This issue applies only with Outlook, not with Outlook Express.

Opt Out Lists

Direct Mailer supports opting out (unsubscribing from a mailing list) or "filtering" a direct mail list against an opt-out list. For Direct Mailer jobs running as part of a campaign item, Commerce Server supports the ability for individual recipients to opt out of a direct mail campaign item. You can do this by adding the e-mail addresses of those individual recipients to the global opt-out list or a campaign specific opt-out list in Marketing Manager. For instructions, see How to Add Users to a List.

Alternatively, the developer who creates the ASP.NET page for the Direct Mailer jobs from the Web server can create an Opt-out page, where the recipient can opt out from the site or the direct mail campaign by clicking the appropriate link.

When you run a Direct Mailer job that is running as part of a campaign item, Direct Mailer checks for the presence of the site level opt-out list and the campaign item level opt-out list. If either list exists, Direct Mailer subtracts those recipients from the original direct mail list and the resulting list acts as the new direct mail list.

See Also

Other Resources

Commerce Server Manager

Marketing Manager

How to Create a Direct Mail Campaign

How to Start a Direct Mailer Job

Managing Direct Mailer