Documentation Comments
Use this form to comment on this topic. You can also provide any general observations about the Online Documentation, or request that additional information be added in a future release.
Reality V15.2 Online Documentation (MoTW) Revision 3
DataBasic Email API Program Example (DataBasic) (m618705+email_api.htm)
The following example includes two alternate methods of setting the email configuration.
*
* The required INCLUDE
*
INCLUDE #EM_INCLUDES FROM /SYSFILES/SYS.BASLIB
*
* Define an error handler
*
ECATCH Error_Handler
*
* Start the email
*
* Method 1 - Using presets
* Define the location of the presets and use items
* for email server configuration and delivery options
*
* EM_DEFINE_CONFIG("EM_CONFIG")
* EM_START_EMAIL("EH_SERVER","")
* EM_ADD_DELIVERY_DETAILS("ED_CLIENTS")
*
* Method 2 - Variables (using defaults)
*
Host.Config = "":@AM:"":@AM:"localhost"
Delivery.Config = "":@AM: ...
"This is the subject":@AM: ...
"receiver@example.com":@AM: ...
"sender@localhost"
EM_START_EMAIL("",Host.Config)
EM_ADD_DELIVERY_DETAILS(Delivery.Config)
*
* Set an optional parameter.
* Wait up to 20,000ms (20 seconds) for a connection
*
EM_SET_PARAM("connect_timeout",20000)
*
* Attach a dynamic item from the results of a LISTU
*
PERFORM "LISTU (N" CAPTURING Item.Content
Item.Content = CHANGE(Item.Content,@AM, EM_CRLF)
EM_ADD_ATTACHMENT(Item.Content, ...
"LISTU.txt":@AM:"The LISTU results", ...
EM_CONTENT_ATTACHED)
*
* Add an attachment from a Reality file (a PDF)
*
EM_ADD_ATTACHMENT_ITEM("CONTENT":@AM: ...
"example.pdf", ...
"attached_example.pdf":@AM:"An attached pdf", ...
EM_CONTENT_ATTACHED)
*
* Add content from a file to embed within the email
* body (an image) and record the generated link
*
EM_ADD_ATTACHMENT_ITEM("CONTENT":@AM: ...
"example.jpg","embedded_example.jpg":@AM: ...
"An embedded image", EM_CONTENT_INLINE)
Logo.Link = EM_LINK_DATA
*
* Add the plain text version of the email body
*
EM_ADD_PLAIN_TEXT("This is the plain text version of the email.")
*
* Add the HTML version and an embedded attachment
*
EM_ADD_HTML_TEXT( ...
"<p>This is the <b>HTML</b> version with an embedded image. ": ...
Logo.Link:"</p>")
*
* Enable output of debug information whilst sending if required
*
* EM_ENABLE_DEBUG()
*
* Send the email and test for success
*
IF (EM_SEND_EMAIL()) THEN
PRINT "Successfully sent."
END ELSE
PRINTERR EM_ERROR_DETAILS
END
*
* End of main program
*
STOP
*
* Error handler
*
Error_Handler:
PRINT "An error was encountered."
PRINT "Number: ":EXCEPT.NUM()
PRINT "Message: ":EXCEPT.MSG()
PRINT "Stack: ":EXCEPT.STK()
PRINTERR EM_ERROR_DETAILS
STOP
*
* End of program
*
END