Library: Email support, SMTP and POP3 (OMMAIL)
The MailOutBox opaque data type allows you to send messages from an OmniMark program through a mail server using the SMTP (Simple Mail Transfer) protocol.
The OmniMark Mail dynamic link library file ("ommail.dll" or "ommail.so") creates the MailOutBox data type. The related include file ("ommail.xin") defines the interface to that component. To use MailOutBox 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 MailOutBox data type as you require by declaring global and local variables of type "MailOutBox". For example:
include "ommail.xin" global MailOutBox my-mailout-1 global MailOutBox my-mailout-2 process local MailOutBox my-mailout-3 local MailOutBox my-mailout-4
Once you have declared your MailOutBox variables, you can use these variables to create connections to mail servers using the MailOutBoxCreate function in the OmniMark Mail function library. For example:
include "ommail.xin" process local MailOutBox my-mailoutbox set my-mailoutbox to MailOutBoxCreate name "buckaroo" address "email@example.com" server "mail.banzai.com"
Assuming that no errors occur when establishing the connection to the mail server, you can now send email messages using the other MailOutBox functions in the OmniMark Mail library.
The MailOutBox variable is not copyable. This means that when you set the value of one MailOutBox OMX variable to the value of another MailOutBox 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 MailOutBox variable or its copy.