OmniMessaging ZLE Mail Adapter Installation Guide OmniMessaging ZLE Mail Adapter Programmer Guide Version 6.
OmniMessaging ZLE Mail Adapter Installation Guide 1 INTRODUCTION............................................................................................. 3 2 PREREQUISITE .............................................................................................. 3 3 FUNCTIONALITIES SUPPORTED WITH ZLEADAPTER ........................................ 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 GENERAL OUTLINE...........................................................................................
OmniMessaging ZLE Mail Adapter Installation Guide 1 INTRODUCTION The purpose of this document is to help a programmer to write servers to use the OmniMessaging ZLE Adapter to send mails to the outside world or to retrieve mails from the Omni message store. The invoking application is expected to do one pathway Server Class Send to the OmniMessaging Zle Adapter server class to send or retrieve a message. The Zle Adapter is a Pathway server, accepting Serverclass Send requests.
OmniMessaging ZLE Mail Adapter Installation Guide Request Specific Information Structure: This is the buffer defined in the IPC based on the request type. Details are provided in following sections. 3.2 Send Email Message The client application should populate the fields of the OMNI_sendMessage IPC. The SERVERCLASS_SEND_ will result in a mail message being delivered to the specified addresses. There is support for up to 10 attachments of unlimited size. Both ASCII and binary attachment types are supported.
OmniMessaging ZLE Mail Adapter Installation Guide volume-subvolume location specified by the Zle Adapter server param "OMNI-TEMPFILE-LOC". If the message body text does not fit in the IPC field of message_body, it is also retrieved in a zero code guardian file in the same location as the attachments. The attachment name for the message body text is “Message Body Text" with a content type of “text” and subtype of “plain”.
OmniMessaging ZLE Mail Adapter Installation Guide Field Name Data Type request_type returnCode message_id attachments attach_count message_body headers org_msg_filename OMNI_ReqType ADAPT_ReturnCode char OMNI_attachment unsigned short char OMNI_headers char get_only_org_msg unsigned short Required (R) / Optional(O) R Value I/O OMNI_GETTEL R Message Id to be fetched I O I O O O O I No of attachments retrieved Char buff up to 25000 bytes O (Null if not specified) O (FALSE if not specified) $VOL.
OmniMessaging ZLE Mail Adapter Installation Guide request_type returnCode orig_name orig_address OMNI_ReqType ADAPT_ReturnCode char char R OMNI_FORWARD R R subject subject_len char unsigned short dest_addresses OMNI_recipient dest_address_count unsigned short message_id char O R (Zero if no subject) R (1 to 10 recipients can be specified) R (total number of recipients) R From User name From User Mail Address Subject of mail String length of subject Recipient Addresses message_body char O f
OmniMessaging ZLE Mail Adapter Installation Guide 3.8 Content Routing The incoming messages can be scanned for special keywords. Based on that, special processing can be performed for the keywords. Keywords can be added to the recipient mail address or subject of the message. Keywords are added using Java provisioning module. Please refer to Provisioning Client Users Guide for details. • Keyword like “Order=” can be provisioned.
OmniMessaging ZLE Mail Adapter Installation Guide Appendix 3.11 • • • Header file - ADAPT.H All the supported IPC structures are defined in this file. Client applications have to include this header file in their source. This file is provided with the PAK file ZINSTALL. Some sections of the header file are listed below.
OmniMessaging ZLE Mail Adapter Installation Guide OMNI_ERROR23, OMNI_ERROR24, OMNI_ERROR25 } ADAPT_ReturnCode; /* Roles for composing a mail using Zle adapter*/ typedef enum { OMNI_ROLE_TO = 0, OMNI_ROLE_CC, OMNI_ROLE_BCC, OMNI_ROLE_RETPATH } ADAPT_Role; /* Delivery Status Notification (DSN) related flags */ typedef enum /* Flag specifying conditions under which DSN is sent */ { OMNI_NODSN = 0, /* Default value – DSN is not sent */ OMNI_FAILUREONLY = 1, /* DSN is sent only if mail cannot reach the recipient
OmniMessaging ZLE Mail Adapter Installation Guide char unsigned short OMNI_recipient unsigned short OMNI_attachment unsigned short char unsigned short } OMNI_sendMessage; subject[256]; subject_len; dest_addresses[10]; dest_address_count; attachments[10]; attach_count; message_body[25000]; encryption_flag; typedef struct OMNI_forwardMessage_tag { unsigned short request_type; unsigned short returnCode; char orig_name[144]; char orig_address[132]; char subject[256]; unsigned short subject_len; OMNI_recipient
OmniMessaging ZLE Mail Adapter Installation Guide OMNI_attachment attachments[10]; unsigned short attach_count; char message_body[25000]; OMNI_headers headers; char org_msg_filename[32]; unsigned short get_only_org_msg; } OMNI_getTelMessage; typedef struct OMNI_getOSSMessage_tag { unsigned short request_type; unsigned short returnCode; char orig_address[132]; char password[17]; char mailbox_name[66]; char message_id[33]; unsigned long uid; char attach_dir[225]; OMNI_attachment attachments[10]; unsigned shor
OmniMessaging ZLE Mail Adapter Installation Guide short nPathsendError, nFileSysError; short i=0, choice=0; OMNI_sendMessage *pSendMsgBuff=NULL; pSendMsgBuff = (OMNI_sendMessage *) calloc(1, sizeof(OMNI_sendMessage)); if (pSendMsgBuff == NULL) exit(0); printf("\n Enter the Pathmon name of OmniMessaging: "); /* e.g. $OMNI */ fflush(NULL); scanf("%s", &pmonProcessName); printf("\n Enter the serverclass name of adapter process: "); /* e.g.
OmniMessaging ZLE Mail Adapter Installation Guide printf("\n Enter the recepient name: "); /* e.g. USER2 */ fflush(NULL); scanf("%s", pSendMsgBuff->dest_addresses[i].name); printf("\n Enter the recepient address: "); /* e.g. user2@domain.com */ fflush(NULL); scanf("%s", pSendMsgBuff->dest_addresses[i].address); printf("\n Enter the recepient role (to=0,cc=1,bcc=2): "); /* e.g. 0 */ fflush(NULL); scanf("%hd", &pSendMsgBuff->dest_addresses[i].role); printf("\n Enter the recipient DSN flag value: "); /* e.g.
OmniMessaging ZLE Mail Adapter Installation Guide printf("\n Enter the attachment location as $VOL.SUBVOL.filename: "); /* e.g. $vol1.subvol1.logo */ fflush(NULL); scanf("%s", pSendMsgBuff->attachments[i].location); }/* end for */ printf("\n Enter the Message Body: "); /* e.g.