-- Procedure will determine e-mail address of user who selects this page
-- and use it as the return address for mail
DECLARE
CURSOR cur_Members IS
SELECT First_Name,
Email_Address AS Email_Address
FROM MEMBERS
WHERE Members_Pk IN
(SELECT c001 FROM APEX_collections WHERE collection_name = 'MULTISELECTCOL');
l_id number;
l_sender varchar2(100);
l_receiver varchar2(50);
l_subject varchar2(50);
l_body varchar2(2000);
F104_USER_ID NUMBER := 1;
BEGIN
-- Setup Sender Name, Message Title & Message Body to send
-- Will not change while we loop through list of users
SELECT Email_Address INTO l_sender
FROM MEMBERS
WHERE Members_Pk = F104_USER_ID;
l_subject := :P945_EMAIL_SUBJECT;
l_body := :P945_EMAIL_TEXT;
-- Now we get member First Name & E-mail Address
:P945_USERIDS := :P945_EMAIL_ATTACHMENT;
FOR r_Member in cur_Members LOOP
l_id := APEX_MAIL.SEND(
p_to => r_Member.Email_Address,
p_from => l_Sender,
p_subj => l_subject,
p_body => l_body,
p_replyto => l_Sender);
IF :P945_EMAIL_ATTACHMENT IS NOT NULL THEN
FOR cur_Attach IN (SELECT filename,
blob_content,
mime_type
FROM apex_application_files
WHERE name = :P945_EMAIL_ATTACHMENT ) LOOP
--
apex_mail.add_attachment( p_mail_id => l_id,
p_attachment => cur_Attach.blob_content,
p_filename => cur_Attach.filename,
p_mime_type => cur_Attach.mime_type);
END LOOP;
COMMIT;
END IF;
APEX_MAIL.PUSH_QUEUE;
END LOOP;
END;
Do more with
Premium Content
You need an Expert Office subscription to comment.Start Free Trial