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