プライマリ・コンテンツに移動

Oracle® Application Express APIリファレンス リリース5.1 E85937-02 |
| 目次 | 索引

前 | 次 |

# 18.2 ADD_ATTACHMENTプロシージャ

このプロシージャは、アプリケーションから外部へ電子メール・メッセージを添付ファイルとして送信します。1つの電子メールに複数の添付ファイルを追加するには、1つの電子メール・メッセージに対して`APEX_MAIL.ADD_ATTACHMENT`を繰り返しコールします。

構文

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

パラメータ

表18-1 ADD_ATTACHMENTのパラメータ

パラメータ | 説明
--- | ---
`p_mail_id` | 電子メールに関連付けられている数値ID。これは、電子メールの本文を作成する`APEX_MAIL.SEND`のコールから戻される数値識別子です。
`p_attachment` | 電子メール・メッセージに添付するバイナリ・コンテンツを含む`BLOB`変数。
`p_filename` | 電子メール添付ファイルに関連付けられているファイル名。
`p_mime_type` | 電子メールの添付ファイルに関連付けられる有効なMIMEタイプ(またはインターネット・メディア・タイプ)。

例

次の例に、`APEX_APPLICATION_FILES`に格納されているファイルにアクセスする方法、およびこれらを外部への電子メール・メッセージに追加する方法を示します

    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,
                p_attachment => c1.blob_content,
                p_filename   => c1.filename,
                p_mime_type  => c1.mime_type);
            END LOOP;
        COMMIT;
    END;
    /