Send email with attachments from oracle procedure

This is my procedure
CREATE OR REPLACE PROCEDURE send_parvo_email IS
v_header varchar2(200);
v_file UTL_FILE.FILE_TYPE;
v_count Number;
v_letter Varchar(50);
req UTL_HTTP.REQ;
req1 UTL_HTTP.REQ;
resp UTL_HTTP.RESP;
resp1 UTL_HTTP.RESP;
url VARCHAR2 (2000);
url1 VARCHAR2 (2000);
val varchar2(4000);
val1 varchar2(4000);
p_start_date DATE;
p_end_date DATE;
v_shipment_id varchar2(30);
--v_start_date  DATE;
--v_end_date DATE;
Cursor C1 is select shipment_id
from ship_hdr
where trunc(create_time) = trunc(sysdate);
BEGIN
v_letter := 'r_parvo_b19_rpt';
select trunc(sysdate-7),trunc(sysdate-2)
into p_start_date,p_end_date
from dual;
Open C1;
Fetch C1 into v_shipment_id;
Close C1;
save_parvo_email;
UTL_HTTP.SET_PROXY (null,null);
url :=
utl_url.ESCAPE
( 'http://hbc-maroon.heartlandbc.org/reports/rwservlet?userid=test/[email protected]&subject="Parvo Testing Report"&destype=mail&FROM=[email protected]&desname=[email protected]&desformat=PDF&ENVID=QA&report='||v_letter||'&start_date='||p_start_date||'&end_date='||p_end_date);
req := UTL_HTTP.BEGIN_REQUEST (url);
UTL_HTTP.SET_HEADER (req, 'User-Agent', 'Mozilla/4.0 Oracle');
resp := UTL_HTTP.GET_RESPONSE (req);
UTL_HTTP.READ_LINE (resp, val, TRUE);
UTL_HTTP.END_RESPONSE (resp);
Update ship_dtl
set shipment_printed = 'Y'
where shipment_printed is null
and trunc(coll_date) between p_start_date and p_end_date;
commit;
END;
This works fine and sends email with the report as attachment. The attachment is report_name.pdf. I want to change this attachment to be named as shipment_id.pdf. Is this possible and how?
If there is any other method to sent email with attachments . ie run the report and attach the report to the email not as report_name.rdf but shipmenmt_id.rdf

This is my procedure
CREATE OR REPLACE PROCEDURE send_parvo_email IS
v_header varchar2(200);
v_file UTL_FILE.FILE_TYPE;
v_count Number;
v_letter Varchar(50);
req UTL_HTTP.REQ;
req1 UTL_HTTP.REQ;
resp UTL_HTTP.RESP;
resp1 UTL_HTTP.RESP;
url VARCHAR2 (2000);
url1 VARCHAR2 (2000);
val varchar2(4000);
val1 varchar2(4000);
p_start_date DATE;
p_end_date DATE;
v_shipment_id varchar2(30);
--v_start_date  DATE;
--v_end_date DATE;
Cursor C1 is select shipment_id
from ship_hdr
where trunc(create_time) = trunc(sysdate);
BEGIN
v_letter := 'r_parvo_b19_rpt';
select trunc(sysdate-7),trunc(sysdate-2)
into p_start_date,p_end_date
from dual;
Open C1;
Fetch C1 into v_shipment_id;
Close C1;
save_parvo_email;
UTL_HTTP.SET_PROXY (null,null);
url :=
utl_url.ESCAPE
( 'http://hbc-maroon.heartlandbc.org/reports/rwservlet?userid=test/[email protected]&subject="Parvo Testing Report"&destype=mail&[email protected]&[email protected]&desformat=PDF&ENVID=QA&report='||v_letter||'&start_date='||p_start_date||'&end_date='||p_end_date);
req := UTL_HTTP.BEGIN_REQUEST (url);
UTL_HTTP.SET_HEADER (req, 'User-Agent', 'Mozilla/4.0 Oracle');
resp := UTL_HTTP.GET_RESPONSE (req);
UTL_HTTP.READ_LINE (resp, val, TRUE);
UTL_HTTP.END_RESPONSE (resp);
Update ship_dtl
set shipment_printed = 'Y'
where shipment_printed is null
and trunc(coll_date) between p_start_date and p_end_date;
commit;
END;
This works fine and sends email with the report as attachment. The attachment is report_name.pdf. I want to change this attachment to be named as shipment_id.pdf. Is this possible and how?
If there is any other method to sent email with attachments . ie run the report and attach the report to the email not as report_name.rdf but shipmenmt_id.rdf

Similar Messages

  • Send Email with attachment from Oracle Procedure

    Hi Saubhik,
    Wt u have explain is really knowledge sharing and very helpful.
    soi have few questions if you can help me out of it.
    1>can we add more than 1 excel sheet in attachment if yes then how to achieve it?
    2>Can't we attached pdf file? I tried using content/type : application/pdf but it only creates pdf file only i can't read it content.
    Waiting for your reply.
    Thanks in advance,
    Radhii

    Hi saubhik,
    i got problem while attaching pdf file? code generates pdf file but i cnt open it to read contents so what could be the mistake that i am doing either writing in pdf file or something else??
    here is my code..
    utl_smtp.write_Data(v_connection,
              'MIME-Version: 1.0'|| crlf || -- Use MIME mail standard
              'Content-Type: multipart/mixed;'|| crlf || ' boundary="-----SECBOUND"'|| crlf || crlf ||
              '-------SECBOUND'|| crlf ||
              'Content-Type: text/plain;'|| crlf ||
              'Content-Transfer_Encoding: 7bit'|| crlf || crlf ||
              '* PLEASE DO NOT REPLY / SEND MAIL TO THIS ACCOUNT , AS ITS AUTO GENERATED MAIL'|| crlf ||
                   '-------SECBOUND'|| crlf ||
              'Content-Type: application/pdf;'|| crlf ||
              ' name="BLANKET_PO_RELEASE.pdf"'|| crlf ||
              'Content-Transfer_Encoding: 8bit'|| crlf ||
              'Content-Disposition: attachment;'|| crlf ||
              ' filename="BLANKET_PO_RELEASE.pdf"'|| crlf ||      crlf ||
              'SR_NUM,ITEM_CODE,ITEM_DESC,PO_NUM,RELEASE_NUM,RELEASE_REVISION_NUM,RELEASE_DATE,QUANTITY,NEED_BY_DATE'     || crlf || temp
              --     '-------SECBOUND--' -- End MIME mail
    where
    temp is my whole string data that i m wrapping in attachment file.
    Radhi

  • Cofiguring & sending email with attachment from Oracle Report 10g

    I want to run report from Oracle 10g reports to be sent as email attachement to differnt people with their respective personal content.
    The first problem is to know how to configure Oracle reports 10g to be able to send output to email address.
    The second problem is to be able to route seperate pages of the report to seperate email address.
    Thanks to all.

    For configuring email for reports
    http://download-east.oracle.com/docs/cd/B14099_17/bi.1012/b14048/pbr_conf.htm#sthref472
    For sending the output to different mail id's you can use bursting and distribution feature of Oracle Reports. For details,
    http://download-east.oracle.com/docs/cd/B14099_17/bi.1012/b14048/pbr_dist.htm#i1007338

  • Sending emails with attachments from within a JSP

    Hi everybody.
    I have to solve that problem here and our major java freak is on holidays. So I'm countin on u guys ;)!
    I've a sort of datasheet that dynamically created into a PDF file. Now this PDF file shouldn't only be available for download, which it is already, but to be able to send it anywhere via email.
    Is there something nice I can use for creating an email with attachment and sending it to the world ??
    Thx, for your help!
    Tim

    I think your best bet will be the JavaMail API. I've not used this (I'm planning on using it, but only for very basic emails), but you can read up on it here:
    http://java.sun.com/products/javamail/index.html

  • Sending Email with attachments from Desktop

    Hi Experts,
      I have a situation where I need to create a SAP shortcut document on desktop and then I need to send this shortcut document
    as an email attachment .
      I have a solution where i can create shortcut documents but the challenge here is how do I send this shortcut document which
    is on desktop to as email attachment .
      Please let me know If any Function module or method is available to send email attaching a document from Desktop.
    <deleted by Moderator>
      Karthik
    Edited by: Suresh Datti on Aug 28, 2009 2:08 PM

    Just upload the document from the desktop and attach it to your e-mail.  There are thousands of posts on this forum about sending e-mails and document attchments - what exactly are you stuck on?  Is it getting the the path to the Desktop without the user picking the location?  Why is that difficult?

  • Whycant i send emails with attachments from aol?

    every time i try to send a e mail with an attachment from my alo mail account i get message that says that there is a technical problem and to resend later, i have tried several times at different times during the day as well as at night

    Thanks for replying Bob,
    I tapped it and it said it sent but then it stored a copy in my outbox.  Weird thing is that the receiving party said they got the email but it still sits in my outbox?? so weird. 

  • Cant send emails with attachments

    All of a sudden I cant send emails with attachments from my iphone or iPad.
    Has anyone else had similar issues?
    I have deleted and reset the accounts up and also tried different devices all with the same problem.

    Please find the trace below . Also I am able to browse the share but haven't tried writing a test app.
    javax.mail.MessagingException: IOException while sending message
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:595)
    at javax.mail.Transport.send0(Transport.java:169)
    at javax.mail.Transport.send(Transport.java:98)
    at SendEmail.sendMail(SendEmail.java:66)
    at FetchDetails.fetchResultSet(FetchDetails.java:69)
    at FetchDetails.<init>(FetchDetails.java:36)
    at Index.main(Index.java:3)
    Caused by: java.io.FileNotFoundException: \xxx.xxx.xx.xxx\dinesh\dialog.gif (The
    system cannot find the path specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:103)
    at javax.activation.FileDataSource.getInputStream(FileDataSource.java:80
    at javax.activation.DataHandler.writeTo(DataHandler.java:287)
    at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1248)
    at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:747)
    at javax.mail.internet.MimeMultipart.writeTo(MimeMultipart.java:361)
    at com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:85
    at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:83
    9)
    at javax.activation.DataHandler.writeTo(DataHandler.java:295)
    at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1248)
    at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1673)
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:555)
    ... 6 more
    Cant send mail. IOException while sending message

  • Is it possible to send emails with attachments fro...

    Hi there,
    I was wondering whether it's possible to send emails with attachments from a Nokia 5230, it's just I would like to be able to send emails with attachments without using a computer especially when I'm out on my journeys.
    Many thanks,
    Tim Auluck
    Solved!
    Go to Solution.

    Hi RocknRollTim,
    Thanks for your reply. Have you already tried sending these files? Though you're not able to create all these files on the phone itself, you should be able to send them in an attachment when they're on your memory card.
    Uploading a .jpg, .tiff, .gif, .doc, .docx .htm, .html .key, .numbers, .pages, .pdf, .ppt, .pptx, .txt, .rtf, .vcf, .xls or .xlsx file shouldn't be a problem when uploading. Just click on 'Other' when adding an attachment, then on 'Other files' and there you will be able to select any file that you have saved on your memory card.   
    Whether you can actually send the email depends on the strength of your internet connection (as I mentioned in my previous post). Also keep in mind that the phone itself as well as the network work with a maximum size file that you can send over 3G (more information about this can be found here), and can therfore also limit you in sending large files.
    In any case, let me know how you get on so that we can assist further where necessary.
    Iris9290 
    If my post has helped you in any way, please accept it as a solution or click on the white star, so that other users will be able to benefit from it too.

  • Procedure for Sending Emails with Attachments

    Hi All,
    Q1. We wish to write a PROCEDURE that sends emails with attachments in SQL. Can someone please suggest the procedure code for the same?
    Q2. Apart from DBMS_JOB utlity can any other this procedure be scheduled to send automatic emails picking up files from a remote filer randomly.
    Regards,
    Chinmay

    http://www.lv2000.com/articles/utlsmtp.htm
    I do not understand what the article is trying to say when it says this:
    <quote>
    1. You cannot send a Subject line with your email.
    2. You cannot add attachments to your message.
    Hopefully, these two deficiencies will be rectified in future releases!
    </quote>
    The entire email sending code with attachments is freely available from Oracle (sitting on top of utl_smtp package). No need to buy additional software.

  • How to send Email with attachments

    Hi im Trying to send a file as attachment using EMail Activity operator.
    Can we do it using Email activity? If yes, then how can we do it? If no, then please tell me about any other method using which i can send a email with attachments.
    Regards
    Vibhuti

    Better late than never, a comprehensive demo on the topic:
    REM
    REM maildemo.sql - A PL/SQL package to demonstrate how to use the UTL_SMTP
    REM package to send emails in ASCII and non-ASCII character sets, emails
    REM with text or binary attachments.
    REM
    REM Note: this package relies on the UTL_ENCODE PL/SQL package in Oracle 9i.
    CREATE OR REPLACE PACKAGE demo_mail IS
      ----------------------- Customizable Section -----------------------
      -- Customize the SMTP host, port and your domain name below.
      smtp_host   VARCHAR2(256) := 'smtp-server.some-company.com';
      smtp_port   PLS_INTEGER   := 25;
      smtp_domain VARCHAR2(256) := 'some-company.com';
      -- Customize the signature that will appear in the email's MIME header.
      -- Useful for versioning.
      MAILER_ID   CONSTANT VARCHAR2(256) := 'Mailer by Oracle UTL_SMTP';
      --------------------- End Customizable Section ---------------------
      -- A unique string that demarcates boundaries of parts in a multi-part email
      -- The string should not appear inside the body of any part of the email.
      -- Customize this if needed or generate this randomly dynamically.
      BOUNDARY        CONSTANT VARCHAR2(256) := '-----7D81B75CCC90D2974F7A1CBD';
      FIRST_BOUNDARY  CONSTANT VARCHAR2(256) := '--' || BOUNDARY || utl_tcp.CRLF;
      LAST_BOUNDARY   CONSTANT VARCHAR2(256) := '--' || BOUNDARY || '--' ||
                                                  utl_tcp.CRLF;
      -- A MIME type that denotes multi-part email (MIME) messages.
      MULTIPART_MIME_TYPE CONSTANT VARCHAR2(256) := 'multipart/mixed; boundary="'||
                                                      BOUNDARY || '"';
      MAX_BASE64_LINE_WIDTH CONSTANT PLS_INTEGER   := 76 / 4 * 3;
      -- A simple email API for sending email in plain text in a single call.
      -- The format of an email address is one of these:
      --   someone@some-domain
      --   "Someone at some domain" <someone@some-domain>
      --   Someone at some domain <someone@some-domain>
      -- The recipients is a list of email addresses  separated by
      -- either a "," or a ";"
      PROCEDURE mail(sender     IN VARCHAR2,
               recipients IN VARCHAR2,
               subject    IN VARCHAR2,
               message    IN VARCHAR2);
      -- Extended email API to send email in HTML or plain text with no size limit.
      -- First, begin the email by begin_mail(). Then, call write_text() repeatedly
      -- to send email in ASCII piece-by-piece. Or, call write_mb_text() to send
      -- email in non-ASCII or multi-byte character set. End the email with
      -- end_mail().
      FUNCTION begin_mail(sender     IN VARCHAR2,
                    recipients IN VARCHAR2,
                    subject    IN VARCHAR2,
                    mime_type  IN VARCHAR2    DEFAULT 'text/plain',
                    priority   IN PLS_INTEGER DEFAULT NULL)
                    RETURN utl_smtp.connection;
      -- Write email body in ASCII
      PROCEDURE write_text(conn    IN OUT NOCOPY utl_smtp.connection,
                     message IN VARCHAR2);
      -- Write email body in non-ASCII (including multi-byte). The email body
      -- will be sent in the database character set.
      PROCEDURE write_mb_text(conn    IN OUT NOCOPY utl_smtp.connection,
                     message IN            VARCHAR2);
      -- Write email body in binary
      PROCEDURE write_raw(conn    IN OUT NOCOPY utl_smtp.connection,
                    message IN RAW);
      -- APIs to send email with attachments. Attachments are sent by sending
      -- emails in "multipart/mixed" MIME format. Specify that MIME format when
      -- beginning an email with begin_mail().
      -- Send a single text attachment.
      PROCEDURE attach_text(conn         IN OUT NOCOPY utl_smtp.connection,
                   data         IN VARCHAR2,
                   mime_type    IN VARCHAR2 DEFAULT 'text/plain',
                   inline       IN BOOLEAN  DEFAULT TRUE,
                   filename     IN VARCHAR2 DEFAULT NULL,
                      last         IN BOOLEAN  DEFAULT FALSE);
      -- Send a binary attachment. The attachment will be encoded in Base-64
      -- encoding format.
      PROCEDURE attach_base64(conn         IN OUT NOCOPY utl_smtp.connection,
                     data         IN RAW,
                     mime_type    IN VARCHAR2 DEFAULT 'application/octet',
                     inline       IN BOOLEAN  DEFAULT TRUE,
                     filename     IN VARCHAR2 DEFAULT NULL,
                     last         IN BOOLEAN  DEFAULT FALSE);
      -- Send an attachment with no size limit. First, begin the attachment
      -- with begin_attachment(). Then, call write_text repeatedly to send
      -- the attachment piece-by-piece. If the attachment is text-based but
      -- in non-ASCII or multi-byte character set, use write_mb_text() instead.
      -- To send binary attachment, the binary content should first be
      -- encoded in Base-64 encoding format using the demo package for 8i,
      -- or the native one in 9i. End the attachment with end_attachment.
      PROCEDURE begin_attachment(conn         IN OUT NOCOPY utl_smtp.connection,
                        mime_type    IN VARCHAR2 DEFAULT 'text/plain',
                        inline       IN BOOLEAN  DEFAULT TRUE,
                        filename     IN VARCHAR2 DEFAULT NULL,
                        transfer_enc IN VARCHAR2 DEFAULT NULL);
      -- End the attachment.
      PROCEDURE end_attachment(conn IN OUT NOCOPY utl_smtp.connection,
                      last IN BOOLEAN DEFAULT FALSE);
      -- End the email.
      PROCEDURE end_mail(conn IN OUT NOCOPY utl_smtp.connection);
      -- Extended email API to send multiple emails in a session for better
      -- performance. First, begin an email session with begin_session.
      -- Then, begin each email with a session by calling begin_mail_in_session
      -- instead of begin_mail. End the email with end_mail_in_session instead
      -- of end_mail. End the email session by end_session.
      FUNCTION begin_session RETURN utl_smtp.connection;
      -- Begin an email in a session.
      PROCEDURE begin_mail_in_session(conn       IN OUT NOCOPY utl_smtp.connection,
                          sender     IN VARCHAR2,
                          recipients IN VARCHAR2,
                          subject    IN VARCHAR2,
                          mime_type  IN VARCHAR2  DEFAULT 'text/plain',
                          priority   IN PLS_INTEGER DEFAULT NULL);
      -- End an email in a session.
      PROCEDURE end_mail_in_session(conn IN OUT NOCOPY utl_smtp.connection);
      -- End an email session.
      PROCEDURE end_session(conn IN OUT NOCOPY utl_smtp.connection);
    END;
    CREATE OR REPLACE PACKAGE BODY demo_mail IS
      -- Return the next email address in the list of email addresses, separated
      -- by either a "," or a ";".  The format of mailbox may be in one of these:
      --   someone@some-domain
      --   "Someone at some domain" <someone@some-domain>
      --   Someone at some domain <someone@some-domain>
      FUNCTION get_address(addr_list IN OUT VARCHAR2) RETURN VARCHAR2 IS
        addr VARCHAR2(256);
        i    pls_integer;
        FUNCTION lookup_unquoted_char(str  IN VARCHAR2,
                          chrs IN VARCHAR2) RETURN pls_integer AS
          c            VARCHAR2(5);
          i            pls_integer;
          len          pls_integer;
          inside_quote BOOLEAN;
        BEGIN
           inside_quote := false;
           i := 1;
           len := length(str);
           WHILE (i <= len) LOOP
          c := substr(str, i, 1);
          IF (inside_quote) THEN
            IF (c = '"') THEN
              inside_quote := false;
            ELSIF (c = '\') THEN
              i := i + 1; -- Skip the quote character
            END IF;
            GOTO next_char;
          END IF;
          IF (c = '"') THEN
            inside_quote := true;
            GOTO next_char;
          END IF;
          IF (instr(chrs, c) >= 1) THEN
             RETURN i;
          END IF;
          <<next_char>>
          i := i + 1;
           END LOOP;
           RETURN 0;
        END;
      BEGIN
        addr_list := ltrim(addr_list);
        i := lookup_unquoted_char(addr_list, ',;');
        IF (i >= 1) THEN
          addr      := substr(addr_list, 1, i - 1);
          addr_list := substr(addr_list, i + 1);
        ELSE
          addr := addr_list;
          addr_list := '';
        END IF;
        i := lookup_unquoted_char(addr, '<');
        IF (i >= 1) THEN
          addr := substr(addr, i + 1);
          i := instr(addr, '>');
          IF (i >= 1) THEN
         addr := substr(addr, 1, i - 1);
          END IF;
        END IF;
        RETURN addr;
      END;
      -- Write a MIME header
      PROCEDURE write_mime_header(conn  IN OUT NOCOPY utl_smtp.connection,
                         name  IN VARCHAR2,
                         value IN VARCHAR2) IS
      BEGIN
        utl_smtp.write_data(conn, name || ': ' || value || utl_tcp.CRLF);
      END;
      -- Mark a message-part boundary.  Set <last> to TRUE for the last boundary.
      PROCEDURE write_boundary(conn  IN OUT NOCOPY utl_smtp.connection,
                      last  IN            BOOLEAN DEFAULT FALSE) AS
      BEGIN
        IF (last) THEN
          utl_smtp.write_data(conn, LAST_BOUNDARY);
        ELSE
          utl_smtp.write_data(conn, FIRST_BOUNDARY);
        END IF;
      END;
      PROCEDURE mail(sender     IN VARCHAR2,
               recipients IN VARCHAR2,
               subject    IN VARCHAR2,
               message    IN VARCHAR2) IS
        conn utl_smtp.connection;
      BEGIN
        conn := begin_mail(sender, recipients, subject);
        write_text(conn, message);
        end_mail(conn);
      END;
      FUNCTION begin_mail(sender     IN VARCHAR2,
                    recipients IN VARCHAR2,
                    subject    IN VARCHAR2,
                    mime_type  IN VARCHAR2    DEFAULT 'text/plain',
                    priority   IN PLS_INTEGER DEFAULT NULL)
                    RETURN utl_smtp.connection IS
        conn utl_smtp.connection;
      BEGIN
        conn := begin_session;
        begin_mail_in_session(conn, sender, recipients, subject, mime_type,
          priority);
        RETURN conn;
      END;
      PROCEDURE write_text(conn    IN OUT NOCOPY utl_smtp.connection,
                     message IN VARCHAR2) IS
      BEGIN
        utl_smtp.write_data(conn, message);
      END;
      PROCEDURE write_mb_text(conn    IN OUT NOCOPY utl_smtp.connection,
                     message IN            VARCHAR2) IS
      BEGIN
        utl_smtp.write_raw_data(conn, utl_raw.cast_to_raw(message));
      END;
      PROCEDURE write_raw(conn    IN OUT NOCOPY utl_smtp.connection,
                    message IN RAW) IS
      BEGIN
        utl_smtp.write_raw_data(conn, message);
      END;
      PROCEDURE attach_text(conn         IN OUT NOCOPY utl_smtp.connection,
                   data         IN VARCHAR2,
                   mime_type    IN VARCHAR2 DEFAULT 'text/plain',
                   inline       IN BOOLEAN  DEFAULT TRUE,
                   filename     IN VARCHAR2 DEFAULT NULL,
                      last         IN BOOLEAN  DEFAULT FALSE) IS
      BEGIN
        begin_attachment(conn, mime_type, inline, filename);
        write_text(conn, data);
        end_attachment(conn, last);
      END;
      PROCEDURE attach_base64(conn         IN OUT NOCOPY utl_smtp.connection,
                     data         IN RAW,
                     mime_type    IN VARCHAR2 DEFAULT 'application/octet',
                     inline       IN BOOLEAN  DEFAULT TRUE,
                     filename     IN VARCHAR2 DEFAULT NULL,
                     last         IN BOOLEAN  DEFAULT FALSE) IS
        i   PLS_INTEGER;
        len PLS_INTEGER;
      BEGIN
        begin_attachment(conn, mime_type, inline, filename, 'base64');
        -- Split the Base64-encoded attachment into multiple lines
        i   := 1;
        len := utl_raw.length(data);
        WHILE (i < len) LOOP
           IF (i + MAX_BASE64_LINE_WIDTH < len) THEN
          utl_smtp.write_raw_data(conn,
             utl_encode.base64_encode(utl_raw.substr(data, i,
             MAX_BASE64_LINE_WIDTH)));
           ELSE
          utl_smtp.write_raw_data(conn,
            utl_encode.base64_encode(utl_raw.substr(data, i)));
           END IF;
           utl_smtp.write_data(conn, utl_tcp.CRLF);
           i := i + MAX_BASE64_LINE_WIDTH;
        END LOOP;
        end_attachment(conn, last);
      END;
      PROCEDURE begin_attachment(conn         IN OUT NOCOPY utl_smtp.connection,
                        mime_type    IN VARCHAR2 DEFAULT 'text/plain',
                        inline       IN BOOLEAN  DEFAULT TRUE,
                        filename     IN VARCHAR2 DEFAULT NULL,
                        transfer_enc IN VARCHAR2 DEFAULT NULL) IS
      BEGIN
        write_boundary(conn);
        write_mime_header(conn, 'Content-Type', mime_type);
        IF (filename IS NOT NULL) THEN
           IF (inline) THEN
           write_mime_header(conn, 'Content-Disposition',
             'inline; filename="'||filename||'"');
           ELSE
           write_mime_header(conn, 'Content-Disposition',
             'attachment; filename="'||filename||'"');
           END IF;
        END IF;
        IF (transfer_enc IS NOT NULL) THEN
          write_mime_header(conn, 'Content-Transfer-Encoding', transfer_enc);
        END IF;
        utl_smtp.write_data(conn, utl_tcp.CRLF);
      END;
      PROCEDURE end_attachment(conn IN OUT NOCOPY utl_smtp.connection,
                      last IN BOOLEAN DEFAULT FALSE) IS
      BEGIN
        utl_smtp.write_data(conn, utl_tcp.CRLF);
        IF (last) THEN
          write_boundary(conn, last);
        END IF;
      END;
      PROCEDURE end_mail(conn IN OUT NOCOPY utl_smtp.connection) IS
      BEGIN
        end_mail_in_session(conn);
        end_session(conn);
      END;
      FUNCTION begin_session RETURN utl_smtp.connection IS
        conn utl_smtp.connection;
      BEGIN
        -- open SMTP connection
        conn := utl_smtp.open_connection(smtp_host, smtp_port);
        utl_smtp.helo(conn, smtp_domain);
        RETURN conn;
      END;
      PROCEDURE begin_mail_in_session(conn       IN OUT NOCOPY utl_smtp.connection,
                          sender     IN VARCHAR2,
                          recipients IN VARCHAR2,
                          subject    IN VARCHAR2,
                          mime_type  IN VARCHAR2  DEFAULT 'text/plain',
                          priority   IN PLS_INTEGER DEFAULT NULL) IS
        my_recipients VARCHAR2(32767) := recipients;
        my_sender     VARCHAR2(32767) := sender;
      BEGIN
        -- Specify sender's address (our server allows bogus address
        -- as long as it is a full email address ([email protected]).
        utl_smtp.mail(conn, get_address(my_sender));
        -- Specify recipient(s) of the email.
        WHILE (my_recipients IS NOT NULL) LOOP
          utl_smtp.rcpt(conn, get_address(my_recipients));
        END LOOP;
        -- Start body of email
        utl_smtp.open_data(conn);
        -- Set "From" MIME header
        write_mime_header(conn, 'From', sender);
        -- Set "To" MIME header
        write_mime_header(conn, 'To', recipients);
        -- Set "Subject" MIME header
        write_mime_header(conn, 'Subject', subject);
        -- Set "Content-Type" MIME header
        write_mime_header(conn, 'Content-Type', mime_type);
        -- Set "X-Mailer" MIME header
        write_mime_header(conn, 'X-Mailer', MAILER_ID);
        -- Set priority:
        --   High      Normal       Low
        --   1     2     3     4     5
        IF (priority IS NOT NULL) THEN
          write_mime_header(conn, 'X-Priority', priority);
        END IF;
        -- Send an empty line to denotes end of MIME headers and
        -- beginning of message body.
        utl_smtp.write_data(conn, utl_tcp.CRLF);
        IF (mime_type LIKE 'multipart/mixed%') THEN
          write_text(conn, 'This is a multi-part message in MIME format.' ||
         utl_tcp.crlf);
        END IF;
      END;
      PROCEDURE end_mail_in_session(conn IN OUT NOCOPY utl_smtp.connection) IS
      BEGIN
        utl_smtp.close_data(conn);
      END;
      PROCEDURE end_session(conn IN OUT NOCOPY utl_smtp.connection) IS
      BEGIN
        utl_smtp.quit(conn);
      END;
    END;
    /

  • Sending mails with attachments using oracle 8i

    Hi,
    Could anybody please send a sample code for sending mails
    with attachments using oracle 8i.
    Thanks in advance

    For oracle8i there is an example package from OTN:
    http://www.oracle.com/technology/sample_code/tech/pl_sql/htdocs/Utl_Smtp_Sample.html
    You have to re-write the package a bit to work it with BLOBs instead of RAW attachments, but that should be no problem
    Hop this helps,
    Michiel

  • Outlook 2010 wont send emails with attachments

    Hello
    I was starting to write the question when we found out what the problem was. So I thought I would share our resolution in here, in case someone fall in the same issue.
    One of my user with Outlook 2010 cannot send emails with attachments of some size. +-50 kb files works fine.
    But when we try a file of 1mb, the mail goes in the Outbox, Exchange status swith from Connected to Disconnected and the email stay there.
    The user is in a remote location, connected through VPN with the network where the Exchange 2013 server is
    Here is what I did:
    1. Re-create Outlook profile: wont work
    2. Re-create Windows profile: wont work
    3. Check ip settings: fine
    4. Try in OWA: wont work
    5. Look at Exchange settings for outgoing email size: 10mb
    6. Load my user's Outlook profile on another LAN: works fine
    That last point made me thought about a potential problem on the remote user's lan. So I did
    7. Check VPN config between the remote site and IT site: fine
    After googling the problem, I found that website (http://community.spiceworks.com/topic/396793-outlook-2010-client-suddenly-showing-disconnected-from-2013-exchange-server) that suggest to change the DNS setting on the client. However, the DHCP of my remote
    user was the router itself, which is giving a DC as primary DNS, and ISP DNS as secondary. I changed the secondary DNS for another DC in our organization, and guess what? Voila! Problem is gone!
    Thinking about it that make not much sense, as the primary DNS is always up the secondary shouldn't be queried. But that's what resolved our problem.
    Hope it helps someone!
    Martin

    Hi Martin,
    Thanks for your sharing:)
    If you have any question about Microsoft Office, welcome to contact us and feel free to post your issue on Office forum.
    Regards,
    Winnie Liang
    TechNet Community Support

  • Sending emails with attachments through outlook 2003

    Hello,
    I have recently switch from cablevison to Fios. With Cablevison, I never had a problem with email. However, now I am having problems sending emails with attachments using outlook 2003. I have called Verizon and we troubleshooted the problem and they feel this is a Microsoft problem.
    I can send email's without attachments through outlook and verizon.net, but I can't send emails with attachments through outlook, I can send them though verizon.net.  All my settings are correct for sending and receiving email.
    I called Microsoft and they say it a Verizon problem...
    HELP, does anyone have a solution?????
    Thanks
    Len628

    Which antivirus software do you run on your computer? Are there any errors posting?  Have you shut off any email firewalls temporarily to attempt to isolate your issue?  Do you have outlook 2003 on more than 1 pc in your home?  Have your tried to attach a small text file and send it to see if that goes thru successfully?
    Joe D
    Verizon Telecom
    Fiber Solution Center
    Notice: Content posted by Verizon employees is meant to be informational and does not supercede or change the Verizon Forums User Guidelines or Terms or Service, or your Customer Agreement Terms and Conditions or Plan.Follow us on Twitter™!

  • When I send emails with photos from iPhoto recipients often tell me images are upside down.  What would cause that?

    When I send emails with photos from iPhoto recipients often tell me images are upside down.  What would cause that?

    Found this :
    https://discussions.apple.com/thread/3431867?start=0&tstart=0
    by doing this :
    http://www.google.com/search?q=images+are+upside+down+ios

  • Send emails with attachments residing in the network

    Hi All,
    My requirement is to send email with attachments. I am using javamail and it works fine only if the attachment resides in the local machine.
    If the attachment resides in the network [the folder is shared by the user], the application gives me IOException.
    Please help. Let me know if I am not clear.

    Please find the trace below . Also I am able to browse the share but haven't tried writing a test app.
    javax.mail.MessagingException: IOException while sending message
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:595)
    at javax.mail.Transport.send0(Transport.java:169)
    at javax.mail.Transport.send(Transport.java:98)
    at SendEmail.sendMail(SendEmail.java:66)
    at FetchDetails.fetchResultSet(FetchDetails.java:69)
    at FetchDetails.<init>(FetchDetails.java:36)
    at Index.main(Index.java:3)
    Caused by: java.io.FileNotFoundException: \xxx.xxx.xx.xxx\dinesh\dialog.gif (The
    system cannot find the path specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:103)
    at javax.activation.FileDataSource.getInputStream(FileDataSource.java:80
    at javax.activation.DataHandler.writeTo(DataHandler.java:287)
    at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1248)
    at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:747)
    at javax.mail.internet.MimeMultipart.writeTo(MimeMultipart.java:361)
    at com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:85
    at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:83
    9)
    at javax.activation.DataHandler.writeTo(DataHandler.java:295)
    at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1248)
    at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1673)
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:555)
    ... 6 more
    Cant send mail. IOException while sending message

Maybe you are looking for

  • Can I use the same Mail configuration on more than one mac?

    I have many (15+) email accounts. I'd like to duplicate the accounts and signatures that I use on my desktop computer onto my laptop. Is this possible? What files do I copy?

  • Report to list Standard cost by component

    Hi, Is there a report or transaction that I can run to list all current material standard costs (by plant) and broken down by the components (material,labour, processing, etc) Thanks, Jograd

  • Error 150

    I get the error message: "150: failed sending data to the peer" when I try to upload a largish photo in GoLive. It is uploading html files just fine. Dreamweaver uploads large .jpgs, which made me think the problem is Golive but But right now Faceboo

  • How to deal future objects and wait calls

    Hi all, How can I handle Future objects if the Callable object calls a wait() into the call() method? If the Callable object is waiting for something, the call Future.get() throws an IllegalMonitorStateException. For example: public class Test {    

  • Why does Adobe Illustrator keep crashing?

    This is more of an Adobe Illustrator question, but seeing that even their support is confused, I thought I might try my luck here. I have a MacBook Pro and only Adobe Illustrator CC crashes expectedly. There is no warning for when it will crash. Sorr