Documentation Home
> Sun Java System Messaging Server 6 2005Q4 MTA Developer's Reference
Sun Java System Messaging Server 6 2005Q4 MTA Developer's Reference
Book Information
Index
A
B
C
D
E
H
I
J
K
L
M
O
P
R
S
T
V
W
Preface
Chapter 1 MTA SDK Concepts and Overview
Channel Programs and Message Queuing
Managing Multiple Threads Using Contexts
Enqueuing Messages
Message Components
Envelope
Header
Body
Threads and Enqueue Contexts
Enqueuing Dequeued Mail
Dequeuing Messages
Threads and Dequeue Contexts
Message Processing Threads
String-valued Call Arguments
Item Codes and Item Lists
Chapter 2 MTA SDK Programming Considerations
Running Your Enqueue and Dequeue Programs
Debugging Programs and Logging Diagnostics
Required Privileges
Compiling and Linking Programs
Compiling
Linking Instructions for Solaris
Running Your Test Programs
To Run Test Programs in a Messaging Environment
To Manually Run Your Test Programs
Preventing Mail Loops when Re-enqueuing Mail
Miscellaneous Programming Considerations
Retrieving Error Codes
Writing Output From a Channel Program
Considerations for Persistent Programs
Refreshing Stale Configuration Information
Keeping the Log File Available For Update
Chapter 3 Enqueuing Messages
Basic Steps to Enqueue Messages
Originating Messages
A Simple Example of Enqueuing a Message
Enqueuing a Message Example Output
Transferring Messages into the MTA
Intermediate Processing Channels
Delivery Processing Options (Envelope Fields)
Order Dependencies
Chapter 4 Dequeuing Messages
How Dequeuing Works
Basic Dequeuing Steps
Caller-Supplied Processing Routine
Dequeue Message Processing Routine Tasks
The process_message() Routine
A Simple Dequeuing Example
Explanatory Text for Numbered Comments in the Simple Dequeue Example
Output from the Simple Dequeue Example
Processing the Message Queue
The process_done() Routine
A Complex Dequeuing Example
Explanatory Text for Numbered Comments in the Complex Dequeue Example
Output from the Complex Dequeue Example
Intermediate processing channels
Preserve Envelope Information
Use MTA_ENV_TO
Use Rewrite Rules to Prevent Message Loops
Intermediate Channel Example
Explanatory Text for Numbered Comments in the Intermediate Channel Example
Sample Input Message for the Intermediate Channel Example
Output from the Intermediate Channel Example
Thread Creation Loop in mtaDequeueStart()
Multiple Calls to mtaDequeueStart()
Calling Order Dependencies
Chapter 5 Decoding Messages
Usage Modes for mtaDecodeMessage()
The Input Source
Dequeue Context
Caller-Supplied Input Routine
The Inspection Routine
A Simple Decoding Example
Explanatory Text for Numbered Comments in the Simple Decoding Example
MIME Message Decoding Simple Example Output
The Output Destination
Enqueue Context
Caller-Supplied Output Routine
Decode Contexts
A Simple Virus Scanner Example
Example Option File
Sample Input Message
Explanatory Text for Numbered Comments in the Decoding MIME Messages Complex Example
Decoding MIME Messages Complex Example Output
Chapter 6 MTA SDK Reference
Summary of SDK Routines
Address Parsing
Dequeue
Enqueue
Error Handling
Initialization
Logging and Diagnostics
MIME Parsing and Decoding
Miscellaneous
Option File Processing
MTA SDK Routines
mtaAccountingLogClose()
Syntax
Arguments
Description
Return Values
Example
mtaAddressFinish()
Syntax
Arguments
Description
Return Values
Example
mtaAddressGetN()
Syntax
Arguments
Description
Elements Argument
Address Argument
Return Values
Example
mtaAddressParse()
Syntax
Arguments
Description
Return Values
Example
mtaAddressToChannel()
Syntax
Arguments
Description
Return Values
Example
mtaBlockSize()
Syntax
Arguments
Description
Return Values
Example
mtaChannelGetName()
Syntax
Arguments
Description
Return Values
Example
mtaChannelToHost()
Syntax
Arguments
Description
Return Values
Example
mtaDateTime()
Syntax
Arguments
Description
Return Values
Example
mtaDebug()
Syntax
Arguments
Description
Return Values
Example
mtaDecodeMessage()
Syntax
Arguments
Description
Inspection Routine
Output Routine
Dequeue Context
Caller-Supplied Input Routine
Enqueue Context
Caller-Supplied Output Routine
Decode Context Queries
Item Codes
Return Values
Example
mtaDecodeMessageInfoInt()
Syntax
Arguments
Description
Return Values
Example
mtaDecodeMessageInfoParams()
Syntax
Arguments
Description
Return Values
Example
mtaDecodeMessageInfoString()
Syntax
Arguments
Description
Return Values
Example
mtaDecodeMessagePartCopy()
Syntax
Arguments
Return Values
Example
mtaDecodeMessagePartDelete()
Syntax
Arguments
Description
Return Values
Example
mtaDequeueInfo()
Syntax
Arguments
Description
Return Values
Example
mtaDequeueLineNext()
Syntax
Arguments
Description
Return Values
Example
mtaDequeueMessageFinish()
Syntax
Arguments
Description
Return Values
Example
mtaDequeueRecipientDisposition()
Syntax
Arguments
Description
Return Values
Example
mtaDequeueRecipientNext()
Syntax
Arguments
Description
Return Values
Example
mtaDequeueRewind()
Syntax
Arguments
Description
Return Values
Example
mtaDequeueStart()
Syntax
Arguments
Description
Return Values
Example
Other Considerations for mtaDequeueStart()
Multiple Calls to mtaDequeueStart()
Message Processing
Message Processing Procedure
process_message() Routine
process_done() Routine
Thread Creation Loop
mtaDequeueThreadId()
Syntax
Arguments
Description
Return Values
Example
mtaDone()
Syntax
Arguments
Description
Return Values
Example
mtaEnqueueCopyMessage()
Syntax
Arguments
Description
Return Values
Example
mtaEnqueueError()
Syntax
Arguments
Description
Return Values
Example
mtaEnqueueFinish()
Syntax
Arguments
Description
Return Values
Example
mtaEnqueueInfo()
Syntax
Arguments
Description
Return Values
Example
mtaEnqueueStart()
Syntax
Arguments
Description
Return Values
Example
mtaEnqueueTo()
Syntax
Arguments
Description
Return Values
Example
mtaEnqueueWrite()
Syntax
Arguments
Description
Return Values
Example
mtaEnqueueWriteLine()
Syntax
Arguments
Description
Example
mtaErrno()
Syntax
Arguments
Description
Return Values
Example
mtaInit()
Syntax
Arguments
Description
Return Values
Example
mtaLog()
Syntax
Arguments
Description
Return Values
Example
mtaLogv()
Syntax
Arguments
Description
Return Values
Example
mtaOptionFinish()
Syntax
Arguments
Description
Return Values
Example
mtaOptionFloat()
Syntax
Arguments
Description
Return Values
Example
mtaOptionInt()
Syntax
Arguments
Description
Return Values
Example
mtaOptionStart()
Syntax
Arguments
Description
Return Values
Example
mtaOptionString()
Syntax
Arguments
Description
Return Values
Example
mtaPostmasterAddress()
Syntax
Arguments
Description
Return Values
Example
mtaStackSize()
Syntax
Arguments
Description
Return Values
Example
mtaStrError()
Syntax
Arguments
Description
Return Values
Example
mtaUniqueString()
Syntax
Arguments
Description
Return Values
Example
mtaVersionMajor()
Syntax
Arguments
Description
Return Values
Example
mtaVersionMinor()
Syntax
Arguments
Description
Return Values
Example
mtaVersionRevision()
Syntax
Arguments
Description
Return Values
Example
Chapter 7 Using Callable Send mtaSend()
Sending a Message
Envelope and Header From Addresses
To, Cc, and Bcc Addresses
Message Headers and Content
Required Privileges for mtaSend()
mtaSendDispose()
Syntax
Arguments
Description
Return Values
Example
Compiling and Linking Programs
Examples of Using mtaSend()
Sending a Simple Message
Output for Example 1 Sending a Simple Message
Example 2 Specifying an Initial Message Header
Input File for Example 2 Specifying an Initial Message Header
Output for Example 2 Specifying an Initial Message Header
Example 3 Sending a Message to Multiple Recipients
Output for Example 3 Sending a Message to Multiple Recipients
Example 4 Using an Input Procedure to Generate the Message Body
Chapter 8 mtaSend() Routine Specification
List of Item Codes
mtaSend() Syntax
Syntax
Arguments
item_list
Item Descriptor Fields
item_code
item_address
item_length
item_status
item_smessage
Description
Item Codes
MTA_ADR_NOSTATUS
MTA_ADR_STATUS
MTA_BCC
MTA_BLANK
MTA_CC
MTA_CHANNEL
MTA_CFILENAME
MTA_CFILENAME_NONE
MTA_CTYPE
MTA_ENC_BASE64
MTA_ENC_BASE85
MTA_ENC_BINHEX
MTA_ENC_BTOA
MTA_ENC_COMPRESSED_BASE64
MTA_ENC_COMPRESSED_BINARY
MTA_ENC_COMPRESSED_UUENCODE
MTA_ENC_HEXADECIMAL
MTA_ENC_NONE
MTA_ENC_PATHWORKS
MTA_ENC_QUOTED_PRINTABLE
MTA_ENC_UNKNOWN
MTA_ENC_UUENCODE
MTA_END_LIST
MTA_ENV_FROM
MTA_ENV_TO
MTA_FRAGMENT_BLOCKS
MTA_FRAGMENT_LINES
MTA_FROM
MTA_HDR_ADRS
MTA_HDR_BCC
MTA_HDR_CC
MTA_HDR_FILE
MTA_HDR_LINE
MTA_HDR_NOADRS
MTA_HDR_NORESENT
MTA_HDR_PROC
MTA_HDR_RESENT
MTA_HDR_TO
MTA_HDRMSG_FILE
MTA_HDRMSG_PROC
MTA_IGNORE_ERRORS
MTA_INTERACTIVE
MTA_ITEM_LIST
MTA_MAX_TO
MTA_MODE_BINARY
MTA_MODE_TEXT
MTA_MSG_FILE
MTA_MSG_PROC
MTA_NOBLANK
MTA_NOIGNORE_ERRORS
MTA_PRIV_DISABLE_PROC
MTA_PRIV_ENABLE_PROC
MTA_SUBADDRESS
MTA_SUBJECT
MTA_TO
MTA_USER
Chapter 9 Error Status Codes Summary
Error Status Codes
© 2010, Oracle Corporation and/or its affiliates