Article # 598, added by Geoworks, historical record
| first | previous | index | next | last |

Manually setting the MailboxRegisterMessageArgs for email.



The following is a rough description of the values to set for manually
sending an emaill on the Nokia 9000 Communicator.

    MRA_bodyStorage.MS_id    = GMSID_VM_TREE
    MRA_bodyStorage.MS_manuf = MANUFACTURER_ID_GEOWORKS
    MRA_bodyFormat.MDF_id    = GMDFID_TEXT_ARRAY
    MRA_bodyFormat.MDF_manuf = MANUFACTURER_ID_GEOWORKS
   *MRA_bodyRef              = pointer to VMTreeAppRef
		VMTAR_vmChain = VMBlockHandle in upper word referencing
				HugeArray that is the text of the email
		VMTAR_vmFile  = VMFileHandle returned by MailboxGetVMFile()
    MRA_bodyRefLen           = sizeof(VMTreeAppRef)
    MRA_transport.MT_id      = GMTID_SMTP
    MRA_transport.MT_manuf   = MANUFACTURER_ID_GEOWORKS
    MRA_transOption          = 0
   *MRA_transAddrs           = pointer to MailboxTransAddr
		*MTA_transAddr = pointer to MBACAddress
				MBACA_opaqueSize = 2
				MBACA_opaque = string of chars (not a pointer)
					to the Sending host (see Sending
					settings in the Mail app on the 9000)
		MTA_transAddrLen = 35h  (seems to always be 35h)
		*MTA_userTransAddr = pointer to string (usually the user
				name portion of the email address)
    MRA_numTransAddrs        = 1 (there's always only one MailboxTransAddr)
    MRA_transData            = DBGroupAndItem referencing an
				EnvelopeInTransData struct (as defined
				by Nokia) in the mailbox admin file.
		EITD_fileName[36] = name of file to contain message
					("Messages 0")
		EITD_VMFileHandle = VMFileHandle to file containing
				ENVELOPE and ADDRESS info.  This is
				usually the same as VMTAR_vmfile.
		EITD_VMBlockHandle = VMBlockHandle of block containing
				ENVELOPE and ADDRESS info
		EITD_MimeEncoding = 1-on, 0-off
		EITD_numFiles = 0  (seems to always be zero)
    MRA_flags                = MMF_PRIORITY = MMP_FIRST_CLASS
                               MMF_VERB     = MDV_READ
                               MMF_DELETE_BODY_AFTER_TRANSMISSION
   *MRA_summary              = pointer to a text string (usually the
				email's subject)
    MRA_destApp.GT_chars     = "NBOK"
    MRA_destApp.GT_manufID   = MANUFACTURER_ID_GEOWORKS
    MRA_startBound           = MAILBOX_NOW
    MRA_endBound             = MAILBOX_ETERNITY


ENVELOPE structure
    VMChainTree vmt.VMCT_meta.VMC_next = VM_CHAIN_TREE
                vmt.VMCT_meta.VMC_offset = 24h (seems to always be 24h)
                vmt.VMCT_meta.VMC_count = equation for this seems to be
			13 + (5 * number of TO, CC, and BCC addresses).
			example: if you send to one person and CC two,
			people, that is 3, so the value is (13+5*3)=28.
    word        link_id      = 2  (seems to always be 2)
    dword       return_path  = -1
    dword       from         = zero-based index into the array of ADDRESS
				structures.  (usually this is index zero)
    dword       sender       = -1
    dword       reply_to     = -1
    dword       to           = zero-based index into the array of ADDRESS
				structures.  (usually this is index 1).
				The trans driver will put all the elements
                		in the array from the "to" index up to
				(but not including) the "cc" index into
				the email's TO line.
    dword       cc           = zero-based index into the array of ADDRESS
				structures.  (must be greater than "to")
				The trans driver will put all the elements
                		in the array from the "cc" index up to
				(but not including) the "bcc" index (or
     				last element if no bcc) into the email's
				CC line
    dword       bcc          = -1
    dword       remail       = 0
    dword       date         = DBGroupAndItem containing date string
			  	vmfile is that defined in EITD_VMFileHandle.
				("Wed, 23 Jul 1997 15:52 0042")
    dword       subject      = DBGroupAndItem containing subject string
				(same as MRA_summary)
				vmfile is that defined in EITD_VMFileHandle.
    dword       in_reply_to  = 0
    dword       message_id   = 0
    dword       newsgroups   = 0
    dword       sending_host = DBGroupAndItem containing the sending host
				(see notes under MTA_transAddr)
				vmfile is that defined in EITD_VMFileHandle.
    dword       next         = 0


ADDRESS structure
    notes: The ADDRESS structure lives in the same block as the
           ENVELOPE structure.  Directly following the ENVELOPE
           structure is an array of ADDRESS structures.  The first
           (zero) element in the array is the sender's email address.
           Following that are the email addresses for the to, cc,
           and bcc elements of the ENVELOPE structure.

    dword personal  = 0
    dword adl       = 0
    dword mailbox   = DBGroupAdnItem containing username part of email
			address (all the stuff before the @)
			vmfile is that defined in EITD_VMFileHandle.
    dword host      = DBGroupAdnItem containing domain name part of email
			address (all the stuff after the @)
			vmfile is that defined in EITD_VMFileHandle.
    dword error     = 0