ADD_ATTACHMENT Procedure

This procedure sends an outbound email message from an application as an attachment. To add multiple attachments to a single email, APEX_MAIL.ADD_ATTACHMENT can be called repeatedly for a single email message.

Syntax

APEX_MAIL.ADD_ATTACHMENT(
    p_mail_id                   IN    NUMBER,
    p_attachment                IN    BLOB,
    p_filename                  IN    VARCHAR2,
    p_mime_type                 IN    VARCHAR2);

Parameters

Table: ADD_ATTACHMENT Parameters describes the parameters available in the ADD_ATTACHMENT procedure.

ADD_ATTACHMENT Parameters

Parameter Description

p_mail_id

The numeric ID associated with the email. This is the numeric identifier returned from the call to APEX_MAIL.SEND to compose the e-mail body.

p_attachment

A BLOB variable containing the binary content to be attached to the e-mail message.

p_filename

The filename associated with the e-mail attachment.

p_mime_type

A valid MIME type (or Internet media type) to associate with the e-mail attachment.


Examples

The following example demonstrates how to access files stored in APEX_APPLICATION_FILES and add them an email message

DECLARE
    l_id number;
BEGIN
    l_id := APEX_MAIL.SEND( p_to        => 'fred@flintstone.com',
                            p_from      => 'barney@rubble.com',
                            p_subj      => 'APEX_MAIL with attachment',
                            p_body      => 'Please review the attachment.',
                            p_body_html => '<b>Please</b> review the attachment' );

    FOR c1 IN (SELECT filename, blob_content, mime_type 
                 FROM APEX_APPLICATION_FILES
                WHERE ID IN (123,456)) loop
        --
        APEX_MAIL.ADD_ATTACHMENT( p_mail_id    => l_id,
                WHERE ID IN (123,456)) loop
        --
        APEX_MAIL.ADD_ATTACHMENT( p_mail_id    => l_id,
                                  p_attachment => c1.blob_content,
                                  p_filename   => c1.filename,
                                  p_mime_type  => c1.mime_type);
    END LOOP;
    COMMIT;
END;
/