Library: Email support, SMTP and POP3 (OMMAIL)
The MailInBox opaque data type allows you to retrieve email messages within an OmniMark program from an account on a remote server by using the POP3 (Post Office) protocol.
The OmniMark Mail dynamic link library file ("ommail.dll" or "ommail.so") creates the MailInBox data type. The related include file ("ommail.xin") defines the interface to that component. To use MailInBox data types in your program, you must include the following declaration and include statement in your program:
Within your program, you can create as many instances of the MailInBox data type as you require by declaring global and local variables of type "MailInBox". For example:
include "ommail.xin" global MailInBox my-mailin-1 global MailInBox my-mailin-2 process local MailInBox my-mailin-3 local MailInBox my-mailin-4
Once you have declared your MailInBox variables, you can use them to create connections to email accounts on remote servers by using the MailInBoxCreate function in the OmniMark Mail function library. For example:
include "ommail.xin" process local MailInBox my-mailinbox set my-mailinbox to MailInBoxCreate server "banzai.com" user "buckaroo" password "watermelon"
Assuming that no errors occur when establishing the connection to the email account, you can now retrieve and manipulate email messages in that account using the other MailInBox functions in the OmniMark Mail library.
The MailInBox variable is not copyable. This means that when you set the value of one MailInBox variable to the value of another MailInBox variable, you end up with two variables pointing at the same external object. You are able to manipulate both variables, but you're performing those manipulations on the same connection to the mail server, whether you use the original MailInBox variable or its copy.