4.1 Data Transfer Via SMTP Replication

A single SMTP replication operation consists of four sub-operations as follows. Note that for the purposes of this section, the "client" is the DC that is requesting replicated data from a "server."

  1. The client sends a request. The DRS engine hands the extension a BLOB that contains a "get changes" request. The extension performs the higher-layer triggered operation (section 3.2.4), encoding the request BLOB as a frame. The frame is then handed to the SMTP service. The frame, as an attachment to an SMTP mail message, is sent to the server.

  2. The server receives the request. The SMTP service receives the mail message from the client and gives the frame to the extension. The extension performs the message processing operation (section 3.3.5), and then passes the BLOB to the DRS engine, which processes the request.

  3. The server sends the response. After it processes the request, the DRS engine generates another DRS BLOB, which contains the response. The extension performs the higher-layer triggered operation and then passes the response to the SMTP service. The SMTP service sends the message to the client as an attachment to an SMTP mail message.

  4. The client receives the response. The SMTP service receives the mail message from the client and gives the frame to the extension. The extension performs the message processing operation and then passes the BLOB to the DRS engine, which processes the response.

For the purpose of this example, DC1 (the "server") and DC3 (the "client") exist as described previously, configured for SMTP replication.