Stages and Components of the Direct Mailer Pipeline
The Direct Mailer pipeline runs components to screen recipients, personalize e-mail, and send the personalized e-mail. The following table lists the stages of the pipeline.
Stage | Description |
Throttle | Controls the speed of the Direct Mailer process. |
Preprocess Recipient | Verifies the data about the recipient. |
Filter Recipient | Allows additional filtering of the recipient list. |
Create Cookies | Creates the cookies used to produce personalized content. The Direct Mailer uses a Web server to generate the content. |
Compose E-mail | Composes and formats the message. |
Send E-mail | Sends the message. |
Postprocess Recipient | Updates the Direct Mailer database to mark those messages that were sent, and writes the appropriate error messages if needed. |
Throttle Stage
The Throttle stage controls the speed with which direct mail messages are processed by the pipeline. This controls the load on the Simple Mail Transfer Protocol (SMTP) server.
The components related to this stage are shown in the following table.
Component | Description |
ThrottleDMLPerformance | Waits a specified number of milliseconds. The Direct Mailer program, Dmlrun.exe, calculates the delay needed to maintain an appropriate delivery rate. It passes this delay to the ThrottleDMLPerformance component through the Context dictionary. |
Preprocess Recipient Stage
The Preprocess Recipient stage verifies data such as there being a recipient address.
The components related to this stage are shown in the following table.
Component | Description |
VerifyRecipientData | The VerifyRecipientData component checks multiple values in the pipeline dictionaries to verify data about the recipient. If any one of the checks fails, the component sets rcp _bypass to True so that subsequent components in the pipeline skip the recipient. |
Filter Recipient Stage
The Filter Recipient stage can perform additional filtering of potential e-mail recipients. Commerce Server 2000 includes no component for this stage (other than the Scriptor component). However, you can add your own custom component to perform filtering. For more information, see Building Pipeline Components.
Testing recipient names against an opt-out list could be performed in this stage. However, you may have better performance if you remove the opt-out names from the mailing list in the List Manager module before running the mail job.
Components that you write for this stage should check and, if necessary, set the rcp
_bypass
key in the Order dictionary. The component should set the rcp
_bypass
key to True if subsequent components in the pipeline should skip the recipient.
Create Cookies Stage
This stage collects data to create a cookie to use with an Active Server Page to generate a personalized message.
The components related to this stage are shown in the following table.
Component | Description |
CreateUPMCookie | Combines information from the Order and Context dictionaries and creates a Cookie dictionary in the Order dictionary containing the information. |
Compose E-mail Stage
The Compose E-mail stage creates the body of the e-mail message and adds any attachments.
The components related to this stage are shown in the following table.
Component | Description |
ComposeDMLMessage | Creates the body of a direct mail e-mail message. Generates the cookie from data in the Cookie dictionary if the e-mail is personalized. |
AddAttachments | Uses the Collaboration Data Objects (CDO) for Microsoft Windows 2000 to add the attachments to the message. |
Send E-mail Stage
The Send E-mail stage verifies the body of a direct mail e-mail message and sends the message.
The components related to this stage are shown in the following table.
Component | Description |
VerifyMessageBody | Use this component to check the body of a direct mail e-mail message. |
SendPrecomposedMessage | Use this component to send a direct mail e-mail message composed in earlier stages in the pipeline. |
Postprocess Recipient Stage
The Postprocess Recipient stage can perform additional recipient processing such as recording information in a database. Commerce Server 2000 includes no component for this stage (other than the Scriptor component). However, you can add your own custom components. For more information, see Building Pipeline Components.