|
|
 |
 |
 |
WHAT MEANS CUSTOMIZATION? |
 |
 |
 |
Dolist E-Mail List server is wide opened to allow any user to customize it the way he needs for his work.
We are trying, when we adding new options to respect what a user would want if we were at their place. So you will find
many ways to customize Dolist, from response file to blacklist, including plugins, lists and server options or mail server
import & export interfaces.
If you setup a Dolist server for your own, you will have for sure to manipulate text format files,
so we will speak here about programming around Dolist and how power up your list server solution.
Anyway, contact us if you have any technical questions.
|
|
 |
 |
POWER UP YOUR MAIL SERVER FOR MAIL INTERFACES |
 |
 |
 |
Dolist communicates with your mail server via import (to grab the incoming mails for it) and export
(to send mails from it) interfaces. Most of time, POP3 and SMTP are used as common import and
export interfaces respectively.
Network communications between interfaces and your mail server is good, but need a lot of time consuming
because the POP3/SMTP interfaces need to login each time they retrieve or send a mail.
Let's see how to get further in message manipulation without network...
|
|
 |
 |
GETTING MAIL FROM YOUR MAIL SERVER FASTER |
 |
 |
 |
The Dolist input mechanism
Each e-mail that comes for Dolist on your mail server will be moved from the e-mail account on your mail server to
input Dolist folder. Nothing difficult. Basically, the input folder needs 1 files for one e-mail.
The .MSG is the full e-mail (header & body formated with RFC convention), with one line containing
for which Dolist account this e-mail is for. Nothing more.
Bypassing POP3 and programming your own import interface
The idea is to grab the mail directly in the mail server account mailbox file. You will save a lot of time. You have just
to check if the mailbox if empty or not, then if not, decode/move the e-mail(s) to input directory and write the account line to it. That's all.
To be sure that Dolist will not detect the new e-mail too quickly, just write the .TMP first,
you will rename to .MSG when closed.
This could be done with many mail servers as most of time mailboxes aren't crypted. Please refer to your mail server
documentation for how to decode/understand your mailbox format.
An import can be programmed with any langage that creates stand alone executables, such as common C/C++, Basic, Pascal.
You access other machine mailboxes over you lan by sharing hard disk and access to them.
You can download samples with source code on Dolist site. An detailed abstract will explain you exactly what to do,
or you can download it here.
Check import interfaces and more here.
|
|
 |
 |
SENDING MAIL TO YOUR MAIL SERVER FASTER |
 |
 |
 |
The Dolist output mechanism
Each e-mail that goes out from Dolist is placed in output folder. Then now this is the export interface job to send out
the mail to relay or direct destination. As for input folder, the output e-mail format is very simple. One .OUT containing the full
mail datas (header & body in RFC convention), and a header lines telling from which e-mail is the message and for which e-mail it needs
to be sent to. You can have multiple message per .OUT.
Return-Path: (if the message bounce, return to most of time error@your.domain)
Recipient: (for which is e-mail 1 is the message)
Recipient: (for which is e-mail 2 is the message)
etc...
Message DATA header
CRLF
Message DATA Body
CR.LF
Return-Path: (if the message bounce, return to most of time error@your.domain)
Recipient: (for which is e-mail 1 is the message)
Recipient: (for which is e-mail 2 is the message)
etc...
Message DATA header
CRLF
Message DATA Body
CR.LF
...
Bypassing DOSMTP and programming your own export interface
The process is to detect a new .OUT created in output folder, and then send the according .OUT to the e-mail(s) and message(s) listed in it.
Most of mail servers have a spool/outgoing folder, where messages are placed before they are sent to the final receiver. Most of time,
the job will be just to extract the message from the .OUT to this spool/outgoing folder, and reformat it to be recognized by the mail server.
This could be done with many mail servers as most of time outgoing e-mails aren't crypted. Please refer to your mail server
documentation for how to decode/understand your outgoing e-mail format.
An import can be programmed with any langage that creates stand alone executables, such as common C/C++, Basic, Pascal.
You access other machine mailboxes over you lan by sharing hard disk and access to them.
You can download samples with source code on Dolist site. An detailed abstract will explain you exactly what to do,
or you can download it here.
Check export interfaces and more here.
|
|
 |
 |
DESIGN YOUR OWN COMMAND/PROCESSING WITH PLUGINS |
 |
 |
 |
A plugin is an executable that will make some process you need at a time. You have 3 types of plugins.
- those used in input for the command manager (defined in server configuration).
- those used in input before posting a message in a list (defined in list configuration).
- those used in output after posting a message in a list (defined in list configuration).
A plugin can be programmed with any langage that creates stand alone executables, such as common C/C++, Basic, Pascal.
Dolist, when spawning to a plugin, send parameters to it, such as Dolist current path, the message name, and for list plugins the list
name.
So you can design your own applications to perform specific tasks on messages and, depending of the return value of the plugin, Dolist
will process it or not, resend automatically a message to initial sender, trash it or continue its own work.
We have designed libraries as well as samples to help you to understand how to begin with plugins.
Check plugins and more here.
|
|
|  |