|Oracle8i Supplied PL/SQL Packages Reference
Release 2 (8.1.6)
Part Number A76936-01
The UTL_SMTP package is designed for sending emails; it does not have the functionality to implement an SMTP server for mail clients to send email by way of SMTP.
Many interfaces to the SMTP package appear as both a function and a procedure. The functional form returns the reply from the server for processing by the client. The procedural form discards the reply but raises an exception if the reply indicates a transient (400-range reply code) or permanent error (500-range reply code).
Note that the original SMTP protocol communicates using 7-bit ASCII. Using UTL_SMTP, all text data (in other words, those in VARCHAR2) will be converted to US7ASCII before it is sent over the wire to the server. Some implementations of SMTP servers that support SMTP extension 8BITMIME [RFC1652] support full 8-bit communication between client and server.
The body of DATA command may be transferred in full 8 bits but the rest of the SMTP command and response. When the target SMTP server supports 8BITMIME extension, users of multi-byte databases may convert their non-US7ASCII, multi-byte VARCHAR2 data to RAW and use the write_raw_data() API to send multi-byte data using 8-bit MIME encoding.
Also, note that UTL_SMTP provides API for SMTP communication as specified in RFC821. The package does not provide API to format the content of the message according to RFC 822 (for example, setting the subject of an electronic mail). It is the user's responsibility to format the message appropriately.