Sending mail with an attachment using UTL_SMTP
Hi all
I'm working on a PL/SQL code, where do I send a mail with an attachment using UTL_SMTP. I use the following code, I changed the value of p_to and p_from
DECLARE
l_mail_conn UTL_SMTP.connection;
l_boundary VARCHAR2 (50): = '-= * #abc1234321cba #* =';
l_step PLS_INTEGER: = 12000; -Make sure you define a multiple of 3 would not exceed the 24573
p_to VARCHAR2 (100): = ' [email protected] ';
p_from VARCHAR2 (100): = ' [email protected] ';
p_subject VARCHAR2 (100): = "UPLOAD of FILE MAIL."
p_text_msg VARCHAR2 (100): = 'it is a system generated email';
p_attach_name VARCHAR2 (100);
p_attach_mime VARCHAR2 (100);
p_attach_blob BLOB;
p_smtp_host VARCHAR2 (100): = 'localhost ';
p_smtp_port NUMBER: = 25;
BEGIN
l_mail_conn: = UTL_SMTP.open_connection (p_smtp_host, p_smtp_port);
UTL_SMTP. HELO (l_mail_conn, p_smtp_host);
UTL_SMTP.mail (l_mail_conn, p_from);
UTL_SMTP. RCPT (l_mail_conn, p_to);
UTL_SMTP.open_data (l_mail_conn);
UTL_SMTP.write_data (l_mail_conn, ' Date: ' |) TO_CHAR (SYSDATE, ' ' DD-MON-YYYY HH24:MI:SS) | UTL_TCP. CRLF);
UTL_SMTP.write_data (l_mail_conn, ' from: ' | p_to |) UTL_TCP. CRLF);
UTL_SMTP.write_data (l_mail_conn, ' from: ' | p_from |) UTL_TCP. CRLF);
UTL_SMTP.write_data (l_mail_conn, ' subject: ' | p_subject |) UTL_TCP. CRLF);
UTL_SMTP.write_data (l_mail_conn, ' Reply-To: ' | p_from |) UTL_TCP. CRLF);
UTL_SMTP.write_data (l_mail_conn, "MIME-Version: 1.0 ' |") UTL_TCP. CRLF);
UTL_SMTP.write_data (l_mail_conn, ' Content-Type: multipart/mixed; limit = "" | ") l_boundary | '"' || UTL_TCP. CRLF. UTL_TCP. CRLF);
IF p_text_msg IS NOT NULL THEN
UTL_SMTP.write_data (l_mail_conn, '-' | l_boundary |) UTL_TCP. CRLF);
UTL_SMTP.write_data (l_mail_conn, ' Content-Type: text/plain; charset = "iso-8859-1" ' |) UTL_TCP. CRLF. UTL_TCP. CRLF);
UTL_SMTP.write_data (l_mail_conn, p_text_msg);
UTL_SMTP.write_data (l_mail_conn, UTL_TCP.crlf |) UTL_TCP. CRLF);
END IF;
IF p_attach_name IS NOT NULL THEN
FOR I IN (SELECT *)
OF xx_mail_test_table
WHERE ROWNUM = 1
ORDER BY last_update_date DESC) LOOP
UTL_SMTP.write_data (l_mail_conn, '-' | l_boundary |) UTL_TCP. CRLF);
UTL_SMTP.write_data (l_mail_conn, ' Content-Type: ' | p_attach_mime |) '; name =' ' | I.FILE_NAME | '"' || UTL_TCP. CRLF);
UTL_SMTP.write_data (l_mail_conn, "Content-Transfer-Encoding: base64' |") UTL_TCP. CRLF);
UTL_SMTP.write_data (l_mail_conn, ' Content-Disposition: attachment; filename = "" | ") I.FILE_NAME | '"' || UTL_TCP. CRLF. UTL_TCP. CRLF);
FOR J FROM 0... TRUNC ((DBMS_LOB. GetLength (I.file_name) - 1) / l_step) LOOP
UTL_SMTP.write_data (l_mail_conn, UTL_RAW.cast_to_varchar2 (UTL_ENCODE.base64_encode (DBMS_LOB.substr (I.FILE_NAME, l_step, J * l_step + 1)));)
END LOOP;
UTL_SMTP.write_data (l_mail_conn, UTL_TCP.crlf |) UTL_TCP. CRLF);
END LOOP;
END IF;
UTL_SMTP.write_data (l_mail_conn, '-' | l_boundary |) '--' || UTL_TCP. CRLF);
UTL_SMTP.close_data (l_mail_conn);
UTL_SMTP. Quit (l_mail_conn);
EXCEPTION
WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN
UTL_SMTP. Quit (l_mail_conn);
lift;
WHILE OTHERS THEN
dbms_output.put_line (SQLERRM);
END;
This is when I execute the block that I get 2 mails to the same but there are some attachments, I checked the table and he gave.
Could someone help me as to where I'm wrong?
Create the raw DATA for the SMTP protocol can be tricky.
I cheat and use a package that has been designed to do easily.
MK
Tags: Database
Similar Questions
-
Sending E-Mail with an attachment using PL/SQL
Hello
I am trying to send an E-Mail with an attachment using pl/sql on Oracle 9i.
I found the code from the link below.
but the attachment it sends is defined in the pl/sql block.http://www.orafaq.com/wiki/Send_mail_from_PL/SQL
I want to attach a file in a different location. How can I do this?
Thanks in advanceIf the attachment is also on the server (it must be on the server), you can load into a BLOB and which attach to your e-mail (you will need to create an Oracle Directory that points to the file to be attached).
http://asktom.Oracle.com/pls/asktom/f?p=100:11:0:P11_QUESTION_ID:255615160805 #68529763836665
This thread is big enough, a ctrl + f there might give you some clues.Currently I do not have the mail api available on here, but I still have it on a "test/playground DB", so I'll take a look later, when I have time and place.
-
Sending mail with an attachment of the IOM
Hi Experts,
We have an obligation to send an email with an attachment of the IOM. Unable to find any relevant document how this goal using the model Notification and NotificationService.
Any help would be appreciated.
Thanks in advance.
This feature is not supported by the product. check the Doc ID 1444359.1
You can trigger an SR to know about this.
-
Sending Email with multiple attachments using packages
Hi all
Version: 10.2.0
I am trying to send mail with multiple attachments using packages.
I tried to use Mail_tools which is in http://www.myoracleportal.com/
But I can send with only one attachment. Are there other options which i it allows to send with multiple attachments.
I have bad do I send attachments Jasper instance < < converted to bytes > >.
Please advice...
TIA,My dear friend,
If you are looking for in this forum - you can get it.
Have you checked the forum?
Anyway,.
Here's the starter for you->
http://forums.Oracle.com/forums/search.jspa?threadID=&q=sending+email+with+multiple+attachments+using+packages++&objid=F75&DateRange=last90days&NumResults=15
Kind regards.
LOULOU.
-
Create a trigger that send mail with attachment after insertion of a line in Oracle APEX
I want to create an insert after trigger on a table that is to send a mail with an attachment. Here is my code.
CREATE OR REPLACE TRIGGER tr_feedback
AFTER INSERT on REVIEWS
FOR EACH LINE
DECLARE
l_id NUMBER;
BEGIN
l_id: = APEX_MAIL. SEND)
p_to => ' [email protected] ',
P_FROM = >: NEW. E-mail
p_subj = >: NEW. Object
p_body = > "Please see the attachment."
p_body_html = > ' review of < b > please < /b > the attachment ")
APEX_MAIL. ADD_ATTACHMENT (p_mail_id = > l_id,)
p_attachment = >: NEW. FILE,
p_filename = >: NEW. FILE NAME,
p_mime_type = >: NEW. MIME);
END;
But when I insert data, I get the following error:
ORA-20022: Null value provided for the parameter p_filename.
ORA-06512: at "APEX_040200.WWV_FLOW_MAIL", line 1070
ORA-06512: at "APEX_040200.WWV_FLOW_MAIL_API", line 141
ORA-06512: at "TR_FEEDBACK", line 11
ORA-04088: error during execution of trigger 'TR_FEEDBACK '.
Now, how can I fix that? Thanks in advance.
Agree with the above. Triggers (ab) should not be used in this way. Nontransactional process should not be based on a transactional trigger. These processes are part of the business logic and should be at the level of the company of codification (Summit, you can add a process to be executed once the completed insertion)
-
Send an E-mail with an attachment procedure Oracle
Jin
I have the procedure to send e-mail with excel attachment
The data in the Excel file are built by using the query in my procedure. Send mail with attachment, it works well.
Now the situation is if there is no data in the Excel worksheet that is built dynamically, we limit the sending of email
is that possible, please let me know,
Am using the utl_tcp method to build the excel file
Thank you
VelSomething like that? But I have not tested. Please test carefully.
PROCEDURE GCN_ORDER(errbuf OUT VARCHAR2, retcode OUT VARCHAR2) IS rc integer; crlf VARCHAR2(2) := CHR(13) || CHR(10); mesg VARCHAR2(1000); c utl_tcp.connection; L_FROM_DATE DATE; L_TO_DATE DATE; msg_from VARCHAR2(100) := '[email protected]'; to_addresses VARCHAR2(1000); cc_addresses VARCHAR2(1000); email_addresses VARCHAR2(2000); msg_subject VARCHAR2(200) := 'E-mail Alert: '; msg_text1 VARCHAR2(15) := 'Dear Sir,'; msg_text2 VARCHAR2(500) := 'Please find the attached file,'; msg_text3 VARCHAR2(25) := 'Division'; msg_text4 VARCHAR2(25) := 'For the period : '; v_mail_to VARCHAR2(1000); lv_gcn varchar2(1000); next_column number; recipient_email_length number; single_recipient_addr varchar2(100); v_is_there_any_attachment CHAR(1):='N'; --New var. cursor cur_select(L_FROM_DATE DATE, L_TO_DATE DATE) is SELECT (substr(wdd.source_header_type_name, 5) || ',' || oha.order_number || ',' || wdd.attribute1 || ',' || TO_DATE(wdd.attribute2, 'dd/mm/rrrr') || ',' || TO_DATE(oha.creation_date, 'dd/mm/rrrr') || ',' || TO_DATE(ola.creation_date, 'dd/mm/rrrr') || ',' || ola.ordered_item) gcn FROM apps.oe_order_headers_all oha, apps.oe_order_lines_all ola, apps.wsh_delivery_details wdd WHERE oha.org_id = 92 AND oha.org_id = ola.org_id AND oha.header_id = ola.header_id AND wdd.inventory_item_id = ola.inventory_item_id AND wdd.source_header_number = oha.order_number AND wdd.source_line_id = ola.line_id AND wdd.org_id = oha.org_id AND wdd.attribute_category = '92Freight' AND TO_DATE(wdd.attribute2, 'dd/mm/rrrr') < TO_DATE(ola.creation_date, 'dd/mm/rrrr') AND TO_DATE(wdd.attribute2, 'dd/mm/rrrr') BETWEEN L_FROM_DATE AND L_TO_DATE AND oha.flow_status_code NOT IN ('BOOKED', 'ENTERED'); cursor cur_to_email is SELECT email_address FROM alert_users_ID WHERE org_id IN (1, 92) AND status_flag = 'Y' AND report_id = 3 AND MAIL_TYPE = 'To' AND (module = 'AR' OR module IS NULL); cursor cur_cc_email is SELECT email_address FROM alert_users_ID WHERE org_id IN (1, 92) AND status_flag = 'Y' AND report_id = 3 AND MAIL_TYPE = 'Cc' AND (module = 'AR' OR module IS NULL); BEGIN --FROM AND TO DATE LOGIC select MIN(START_DATE), MAX(END_DATE) INTO L_FROM_DATE, L_TO_DATE from apps.gl_period_statuses where closing_status = 'O' AND APPLICATION_ID = 101 AND SET_OF_BOOKS_ID = 2; for c_to in cur_to_email loop to_addresses := to_addresses || ',' || c_to.email_address; end loop; to_addresses := ltrim(to_addresses, ','); for c_cc in cur_cc_email loop cc_addresses := cc_addresses || ',' || c_cc.email_address; end loop; cc_addresses := ltrim(cc_addresses, ','); email_addresses := to_addresses || ',' || cc_addresses; recipient_email_length := length(email_addresses); email_addresses := email_addresses || ','; -- Add comma for the last asddress next_column := 1; if instr(email_addresses, ',') = 0 then -- Single E-mail address single_recipient_addr := email_addresses; recipient_email_length := 1; end if; c := utl_tcp.open_connection(remote_host => '127.0.0.1', remote_port => 25, tx_timeout => null); rc := utl_tcp.write_line(c, 'HELO 127.0.0.1'); rc := utl_tcp.write_line(c, 'EHLO 127.0.0.1'); rc := utl_tcp.write_line(c, 'MAIL FROM: ' || msg_from); while next_column <= recipient_email_length loop -- Process Multiple E-mail addresses in the loop OR single E-mail address once. single_recipient_addr := substr(email_addresses, next_column, instr(email_addresses, ',', next_column) - next_column); next_column := instr(email_addresses, ',', next_column) + 1; --rc := utl_tcp.write_line(c, 'MAIL FROM: '||msg_from); rc := utl_tcp.write_line(c, 'RCPT TO: ' || single_recipient_addr); end loop; rc := utl_tcp.write_line(c, 'DATA'); rc := utl_tcp.write_line(c, 'Date: ' || TO_CHAR(SYSDATE, 'dd Mon yy hh24:mi:ss')); rc := utl_tcp.write_line(c, 'From: ' || msg_from || ' <' || msg_from || '>'); rc := utl_tcp.write_line(c, 'MIME-Version: 1.0'); rc := utl_tcp.write_line(c, 'To: ' || to_addresses); rc := utl_tcp.write_line(c, 'Cc: ' || cc_addresses); rc := utl_tcp.write_line(c, 'Subject: ' || msg_subject); rc := utl_tcp.write_line(c, 'Content-Type: multipart/mixed;'); rc := utl_tcp.write_line(c, ' boundary="-----SECBOUND"'); rc := utl_tcp.write_line(c, ''); rc := utl_tcp.write_line(c, '-------SECBOUND'); rc := utl_tcp.write_line(c, 'Content-Type: text/plain'); rc := utl_tcp.write_line(c, 'Content-Transfer-Encoding: 7bit'); rc := utl_tcp.write_line(c, ''); rc := utl_tcp.write_line(c, msg_text1); rc := utl_tcp.write_line(c, ' '); rc := utl_tcp.write_line(c, msg_text2); rc := utl_tcp.write_line(c, ' '); rc := utl_tcp.write_line(c, msg_text3); rc := utl_tcp.write_line(c, msg_text4 || to_char(l_from_date, 'MON-YY') || ' to ' || to_char(l_to_date, 'MON-YY')); rc := utl_tcp.write_line(c, ''); rc := utl_tcp.write_line(c, '-------SECBOUND'); rc := utl_tcp.write_line(c, 'Content-Type: text/plain;'); rc := utl_tcp.write_line(c, ' name="GCN_Details.csv"'); rc := utl_tcp.write_line(c, 'Content-Transfer_Encoding: 8bit'); rc := utl_tcp.write_line(c, 'Content-Disposition: attachment;'); --Indicates that this is an attachment. rc := utl_tcp.write_line(c, ' filename="GCN_Details.csv"'); rc := utl_tcp.write_line(c, '-------SECBOUND'); rc := utl_tcp.write_line(c, ''); begin -- WRITE COLUMN HEADERS rc := utl_tcp.write_text(c, 'BRANCH' || ',' || 'ORDER NUMBER'); rc := utl_tcp.write_line(c, ' '); for c1 in cur_select(L_FROM_DATE, L_TO_DATE) loop --You are starting to write the data lv_gcn := c1.gcn; rc := utl_tcp.write_text(c, lv_gcn); rc := utl_tcp.write_line(c, ' '); v_is_there_any_attachment:='Y';--Is there any data ? end loop; exception when others then dbms_output.put_line('error : ' || sqlerrm); rc := utl_tcp.write_text(c, 'Data Error'); end; If v_is_there_any_attachment ='Y' THEN rc := utl_tcp.write_line(c, ''); rc := utl_tcp.write_line(c, '.'); rc := utl_tcp.write_line(c, '-------SECBOUND'); --end loop; END If; rc := utl_tcp.write_line(c, 'QUIT'); dbms_output.put_line(utl_tcp.get_line(c, TRUE)); utl_tcp.close_connection(c); EXCEPTION when others then utl_tcp.close_connection(c); raise_application_error(-20000, SQLERRM); END GCN_ORDER;
-
error in sending mails with attachments
Hai friends, windows mail works fine for me, but I still have problem sending mail with attachments.
When we send an attachment then windows Messaging mail tell our mail sending successfully, but it is stored in the Outbox & mail does not reach the destination. can we have the solution to this.Hi Sammy Anderson,
Thanks for joining us out on the Microsoft Community forums.
According to the description, you are experiencing problems sending mails with attachments. Please answer a few questions to refine the question.
1. are you using Windows Live Mail to send and receive messages or are you referring to the mail application?
2. do you get an error message?
3. are you aware of changes to the computer before the show?
If you are Windows Mail app, you can consult this article and also run the app troubleshooting utility that is provided in the notes.
What to do if you have problems with a soft
http://Windows.Microsoft.com/is-is/Windows-8/what-troubleshoot-problems-app
If the problem is with Windows Live Mail, you can post the question in another Department for assistance.
http://answers.Microsoft.com/en-us/windowslive/Forum/email
Hope this information helps. Get back to us if you have more queries about Windows.
-
Cannot send mail with windows mail. Get the pop-up Windows security.
Cannot send mail with Windows Mail. Get the pop-up Windows security.
Password and username are all correct. POP and SMTP everything is correct. If I remove all virus blocker, always get Windows security pop up asking for password and username; I type in it and click on the option to remember, but the window appears several times without sending a message. Error message box is empty.No problem on the end of e-mail servers. Equipped with Windows Vista.I deleted the Windows Mail disabled account, rebooted with the new account and the same problem.Can I receive the mail, but Windows Security blocking my attempts to send and don't remember the password and username that I type.Help!This kind of behavior is very often due to antivirus. You are using. If its McAfee or Norton get rid of them completely. There are others who are also incompatible. Everything you try, make sure that the analysis of e-mail is disabled. You can also try to repair the database and see if that helps (see www.oehelp.com/WMUtil/). And see also www.oehelp.com/OETips.aspx#3
Steve
-
redirect e-mail with photos attached
When you try to send an e-mail with an attached picture in live mail, I get a notice on the screen that live mail cannot
find photos in the e-mail message. Transmitted without, he is received with an empty box with an x in the top left corner, but
No picture. This is not consistent with each email, which cannot live mail search image when it appears on my
perfectally screen?
Submit all Live and Hotmail queries on the forum right here:
Windows Live Solution Center
http://windowslivehelp.com/ -
UTL_SMTP mail with an attachment (problem by attaching the zip file)
Hi all
I used the code for sending email with attachment below. but when I try to add the body of the message its does not work in the sense of sound do not attach my file. When I commented that border its attach the file.
How to solve this problem?commented lines: -- utl_smtp.write_data(mail_conn,UTL_TCP.CRLF ||'Body' ||':'|| text || UTL_TCP.CRLF); --utl_smtp.write_data(mail_conn,UTL_TCP.CRLF||text || UTL_TCP.CRLF );
Full procedure.
Please, help me to solve this problem.create or replace procedure sssl_send_mail ( p_sender varchar2, p_recipient varchar2, p_cc varchar2, p_subject varchar2, p_filename varchar2, text varchar2) is --c utl_smtp.connection; v_raw raw(57); v_length integer := 0; v_buffer_size integer := 57; v_offset integer := 1; mailhost VARCHAR2(64) := 'xxxxxxxxxx'; port constant number(2):=25; timeout number :=180; mail_conn utl_smtp.connection; p_blob Blob; temp_os_file bfile; ex number; begin DBMS_LOB.CREATETEMPORARY(p_blob,true); temp_os_file := BFILENAME ('xxxxxxxx',p_filename); ex := dbms_lob.fileexists(temp_os_file); if ex = 1 then dbms_lob.fileopen(temp_os_file, dbms_lob.file_readonly); dbms_lob.loadfromfile(p_blob,temp_os_file, dbms_lob.getlength(temp_os_file)); dbms_lob.fileclose(temp_os_file); end if; mail_conn := utl_smtp.open_connection(mailhost, port,timeout); utl_smtp.helo(mail_conn, mailhost); utl_smtp.mail(mail_conn, p_sender); utl_smtp.rcpt(mail_conn, p_recipient); utl_smtp.rcpt(mail_conn, p_cc); utl_smtp.open_data(mail_conn); utl_smtp.write_data(mail_conn,'From'||':'|| p_sender || UTL_TCP.CRLF); utl_smtp.write_data(mail_conn,'To'||':'|| p_recipient || UTL_TCP.CRLF); utl_smtp.write_data(mail_conn,'CC'||':'|| p_cc || UTL_TCP.CRLF); utl_smtp.write_data(mail_conn,'Subject' ||':'|| p_subject || UTL_TCP.CRLF); -- utl_smtp.write_data(mail_conn,UTL_TCP.CRLF ||'Body' ||':'|| text || UTL_TCP.CRLF); --utl_smtp.write_data(mail_conn,UTL_TCP.CRLF||text || UTL_TCP.CRLF ); utl_smtp.write_data( mail_conn, 'Content-Disposition: attachment; filename="' || p_filename || '"' || utl_tcp.crlf); utl_smtp.write_data( mail_conn, 'Content-Transfer-Encoding: base64' || utl_tcp.crlf ); utl_smtp.write_data( mail_conn, utl_tcp.crlf ); v_length := dbms_lob.getlength(p_blob); <<while_loop>> while v_offset < v_length loop dbms_lob.read( p_blob, v_buffer_size, v_offset, v_raw ); utl_smtp.write_raw_data( mail_conn, utl_encode.base64_encode(v_raw) ); utl_smtp.write_data( mail_conn, utl_tcp.crlf ); v_offset := v_offset + v_buffer_size; end loop while_loop; utl_smtp.write_data( mail_conn, utl_tcp.crlf ); utl_smtp.close_data(mail_conn); utl_smtp.quit(mail_conn); exception when utl_smtp.transient_error or utl_smtp.permanent_error then utl_smtp.quit(mail_conn); raise; when others then raise; end;
Thanks in advance.
See you soon,.
Shan.
Published by: Shan on January 13, 2011 13:08
Published by: Shan on January 14, 2011 15:22I don't have your question on the BLOB store. I read the disk file (BFILE) and then storing it in temporary LOB. I send a file in my hotmail and it came as an attachment.
DECLARE /*LOB operation related varriables */ v_src_loc BFILE := BFILENAME('SAUBHIK', 'Waterlilies.jpg'); l_buffer RAW(54); l_amount BINARY_INTEGER := 54; l_pos INTEGER := 1; l_blob BLOB := EMPTY_BLOB; l_blob_len INTEGER; v_amount INTEGER; /*UTL_SMTP related varriavles. */ v_connection_handle UTL_SMTP.CONNECTION; v_from_email_address VARCHAR2(30) := '[email protected]';--change your email address v_to_email_address VARCHAR2(30) := '[email protected]'; --change your email address v_smtp_host VARCHAR2(30) := '9.182.156.144'; --My mail server, replace it with yours. v_subject VARCHAR2(30) := 'Your Test Mail'; l_message VARCHAR2(200) := 'This is test mail using UTL_SMTP'; /* This send_header procedure is written in the documentation */ PROCEDURE send_header(pi_name IN VARCHAR2, pi_header IN VARCHAR2) AS BEGIN UTL_SMTP.WRITE_DATA(v_connection_handle, pi_name || ': ' || pi_header || UTL_TCP.CRLF); END; BEGIN /*Preparing the LOB from file for attachment. */ DBMS_LOB.OPEN(v_src_loc, DBMS_LOB.LOB_READONLY); --Read the file DBMS_LOB.CREATETEMPORARY(l_blob, TRUE); --Create temporary LOB to store the file. v_amount := DBMS_LOB.GETLENGTH(v_src_loc); --Amount to store. DBMS_LOB.LOADFROMFILE(l_blob, v_src_loc, v_amount); -- Loading from file into temporary LOB l_blob_len := DBMS_LOB.getlength(l_blob); /*UTL_SMTP related coding. */ v_connection_handle := UTL_SMTP.OPEN_CONNECTION(host => v_smtp_host); UTL_SMTP.HELO(v_connection_handle, v_smtp_host); UTL_SMTP.MAIL(v_connection_handle, v_from_email_address); UTL_SMTP.RCPT(v_connection_handle, v_to_email_address); UTL_SMTP.OPEN_DATA(v_connection_handle); send_header('From', '"Sender" <' || v_from_email_address || '>'); send_header('To', '"Recipient" <' || v_to_email_address || '>'); send_header('Subject', v_subject); --MIME header. UTL_SMTP.WRITE_DATA(v_connection_handle, 'MIME-Version: 1.0' || UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, 'Content-Type: multipart/mixed; ' || UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, ' boundary= "' || 'SAUBHIK.SECBOUND' || '"' || UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF); -- Mail Body UTL_SMTP.WRITE_DATA(v_connection_handle, '--' || 'SAUBHIK.SECBOUND' || UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, 'Content-Type: text/plain;' || UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, ' charset=US-ASCII' || UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, l_message || UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF); -- Mail Attachment UTL_SMTP.WRITE_DATA(v_connection_handle, '--' || 'SAUBHIK.SECBOUND' || UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, 'Content-Type: application/octet-stream' || UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, 'Content-Disposition: attachment; ' || UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, ' filename="' || 'Waterlilies.jpg' || '"' || --My filename UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, 'Content-Transfer-Encoding: base64' || UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF); /* Writing the BLOL in chunks */ WHILE l_pos < l_blob_len LOOP DBMS_LOB.READ(l_blob, l_amount, l_pos, l_buffer); UTL_SMTP.write_raw_data(v_connection_handle, UTL_ENCODE.BASE64_ENCODE(l_buffer)); UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF); l_buffer := NULL; l_pos := l_pos + l_amount; END LOOP; UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF); -- Close Email UTL_SMTP.WRITE_DATA(v_connection_handle, '--' || 'SAUBHIK.SECBOUND' || '--' || UTL_TCP.CRLF); UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF || '.' || UTL_TCP.CRLF); UTL_SMTP.CLOSE_DATA(v_connection_handle); UTL_SMTP.QUIT(v_connection_handle); DBMS_LOB.FREETEMPORARY(l_blob); DBMS_LOB.FILECLOSE(v_src_loc); EXCEPTION WHEN OTHERS THEN UTL_SMTP.QUIT(v_connection_handle); DBMS_LOB.FREETEMPORARY(l_blob); DBMS_LOB.FILECLOSE(v_src_loc); RAISE; END;
http://saubbane.blogspot.com/2011/01/sending-binary-attachmentimages-in-mail.html
-
How to send a large file attachment using iCloud mail
I try to send an email with an attachment. The file size is 29.8 and message indicates the size of the file is greater than the limit of 28.5. I can't find the mailbox. How can I find box mailbox? Is there anything else I can do?
Are you connect to your iCloud account, when you try to send the attachment of t? So little should be automatic:
Send large attachments by using the mailbox
You can use the mailbox to send files that exceed the maximum size allowed by your ISP email account . Mailbox post large attachments to iCloud, where they are encrypted and stored for 30 days.
- If you have an iCloud account and you're connected to iCloud when you click on send, mail will automatically send the attachments using the mailbox. Mail attachments do not count against your storage iCloud.
- If you have not an iCloud account, or if you are not connected, Mail asking you if you want to use the mailbox (always use send, select "no longer request for this account").
If a recipient using Mail in OS X Yosemite or later, attachments are included with your message. For the other beneficiaries, your message includes links to download attachments and their expiry date.
You can activate the mailbox or disable an account. Choose Mail > Preferences, click accounts, select the account, click Advanced, and then select or deselect the option "send large attachments with box.
-
Problem sending Mails with attachment binary BlackBerry 4.5
Hallo,
my code well testet, sending binary content as an attachment no longer works on 4.5.0:
------------------------
settings specified in the signature of mtehod
String url = "blackberry20@test";
Byte [] requestdata / /... of the binary data (really!)create new message
final Message message = New Message();define the recipient (as it appears in the url)
message.addRecipients (Message.RecipientType.TO,
new address [] {new address (url, url)});
String msgID = (DeviceInfo.getDeviceId () + "_" + System.currentTimeMillis ()) .toUpperCase ();
message.setSubject (msgID);create the body... empty text
Several multipart part = new Multipart();
TextBodyPart txtBody = new TextBodyPart (multipart);
txtBody.setContent("");
multipart.addBodyPart (txtBody);create attachments and add
AttachmentPart SupportedAttachmentPart = new SupportedAttachmentPart (multipart);
attachmentPart.setContentType("application/octet-stream");
attachmentPart.setFilename (msgID);
attachmentPart.setContent (requestData);multipart.addBodyPart (attachmentPart);
message.setContent (multipart);Send mail in own thread
Thread thread = new Thread ('Send Mail Thread') {}public void run() {}
try {}
Transport.Send (message);
} catch (Throwable e) {}
System.Err.println ("error sending message" + e.getClass () .getName () + "/" + e.getMessage ());
}
}
};
thread. Start();------------------------
This code has been compiled with JDE 4.0 and worked fine on 4.0, 4.1, 4.2
It works on my 4.5.0.55 _not_ shrimp (BES 4.1.4) and on a "BOLD" customer (4.6.0.X/BES > = 4.1.4)
It seems to be an attachment API on 4.5.0, of the major changes that are not compatible with older versions.
-Are there workarounds?
-Are there examples how to do work on > = 4.5?
-How to be always compatible backword for 4.0, 4.1, 4.2?
-What impact have the BES/BIS-platform on these issues?
-Are there serious documentation out there how to set the ContentType, Filename, etc.?Would be great if some have had a (customers get angry response
Thanx, Jens Kinzel
Hello Mark,
I tried the example excatly you mentioned: If the content was about 60Bytes.
The following code does NOT work on > = 4.5:
---------------------
public static sendHTMLMailRIMExample (String address) Sub throws {MessagingException}create a multipart
Multipart MP = new Multipart();data for the content of the file
FileData = string"just a simple test";
String messageData = "Mail attachment Demo";create the file
SAP SupportedAttachmentPart = new SupportedAttachmentPart (mp, "text/html", "upploadare", fileData.getBytes ());The PTB TextBodyPart = new TextBodyPart (mp, messageData);
Add the file to the multipart
mp.addBodyPart (BSC);
mp.addBodyPart (sap);create a message in the sent items folder
Folder folders [] is Session.getDefaultInstance () .getStore () .list (Folder.SENT);.Message message = new Message(folders[0]);
Add recipients to the message and send it
Address = new address (address, address);
[ToAdds] address = new address [1];
toAdds [0] = n;
message.addRecipients (Message.RecipientType.TO, toAdds);
message.setContent (mp);Transport.Send (message);
}
--------------------I found that the problem is a combination of Firmware and BES. Here are the relevant areas of the BES-Logfile:
Example 1: Mail is rejected
--------------
MAGT-Log:
[40000] (12/17 13:58:31.943): {0x14C8} [BENNETT] received datagram, Tag = 64192
[40700] (12/17 13:58:31.943): {0 x 1534} {[email protected]} received device package, size is 199, TransactionId = 1152541538, Tag = 64192, content type = CMIME, cmd = 0 x 3
[20212] (12/17 13:58:31.943): {0 x 1534} {[email protected]} StreamToMessage() failed, Tag = 64192
[40275] (12/17 13:58:31.943): {0 x 1534} {[email protected]} error in transaction of sending to the device for the transaction 1152541538, size = 40, TransactionId = 920681772, Tag = 140390
[40279] (12/17 13:58:31.943): {0 x 1534} {[email protected]} SubmitToRelaySendQ, Tag = 140390
[40000] (12/17 13:58:31.943): {0x14D0} [BENNETT] send data, Tag = 140390
[40279] (12/17 13:58:31.943): {0 x 1534} {[email protected]} SubmitToRelaySendQ, Tag = 64192
[40000] (12/17 13:58:31.943): {0x14D0} [BENNETT] send status DATA_ACCEPTED, Tag = 64192
[40000] (12/17 13:58:32.896): {0x14C8} [BENNETT] received State DELIVERED, Tag = 140390DISP-Log
[30222] (12/17 13:58:31.943): {0 x 1104} {myBlackBerry} MFH: contentType = CMIME, sizeOTA = 172, sizeOTW = 162, TransactionId = 1152541538, Tag = 1705182
[30308] (12/17 13:58:31.943): {0 x 1104} [BIPPa] {myBlackBerry} transfer data to BES Agent (S10096620_001), size = 199, intTag = 64192, Tag = 1705182
[30311] (12/17 13:58:31.943): {0x110C} {myBlackBerry} Forwarding status of relay, intTag = 64192, Tag = 1705182, Status = 1
[30368] (12/17 13:58:32.896): {0 x 1110} {myBlackBerry} package was delivered to the device, Tag = 233560
[30388] (12/17 13:58:32.896): {0 x 1110} [BIPPa] {myBlackBerry} status transfer to BES Agent (S10096620_001), intTag = 140390, extTag = 233560ALRT-Log
[30000] (12/17 13:58:31.990): {0x5F4} EventLog::ThreadProc: received notification, treatment...
[30000] (12/17 13:58:31.990): {0x5F4} [Alarm::ActivateAlarm] alarm Queuing:| BlackBerry messaging Agent Agent of S-05-005 1 (S-05-005 applications event log). 2008-12-17 13:58:31 (AFFF4EF4)-> {[email protected]} StreamToMessage() failed, Tag = 64192
[30000] (12/17 13:58:31.990): {0x5C0} Alarm::ThreadProc: received an alarm message
------------------Example 2: The mail is sent
------------------
MAGT-Log
[40000] (12/17 14:11:33.109): {0x14C8} [BENNETT] received datagram, Tag = 64209
[40700] (12/17 14:11:33.109): {0 x 1540} {[email protected]} received device package, size is 243, TransactionId = 201738721, = 64209, content type Tag = CMIME, cmd = 0 x 3
[30112] (12/17 14:11:33.125): {0 x 1540} {[email protected]} receipt message to the device, RefId = 1323541580, Tag 64209, TransactionId = 201738721 =
[40292] (12/17 14:11:33.687): {0 x 1540} {[email protected]} E-mail message sent to device, Tag = 64209
[40279] (12/17 14:11:33.687): {0 x 1540} {[email protected]} SubmitToRelaySendQ, Tag = 64209
[40000] (12/17 14:11:33.687): {0x14D0} [BENNETT] send status DATA_ACCEPTED, Tag = 64209
-------------------------After fiddling around with the structure of the MIME multipart-message Types, I found a solution that works for me:
-------------------------
' Private Sub sendRequest (String url, byte [] requestData) get {MessagingException}create new message
final Message message = New Message();define the recipient (as it appears in the url)
message.addRecipients (Message.RecipientType.TO,
new address [] {new address (url, url)});create topic: device over the current timestamp
String msgID = ("DATA"_System.currentTimeMillis ()) .toUpperCase ();
message.setSubject (msgID);create the body... a text
Several multipart part = new Multipart();
TextBodyPart txtBody = new TextBodyPart (multipart);
txtBody.setContent (msgID);
multipart.addBodyPart (txtBody);create attachments and add
AttachmentPart SupportedAttachmentPart = new SupportedAttachmentPart (multipart);
attachmentPart.setContentType("text/xml");attachmentPart.setContent (requestData);
attachmentPart.setFilename (msgID + ".xml");
multipart.addBodyPart (attachmentPart);
message.setContent (multipart);
Transport.Send (message);
}
------------------------Let me say thank you for your ideas a Council. From my side, the problem is closed so far-
even though im not sure if it will work for all environments.I'm not shure where the initial problem was (Firmware / BES - combination?) or something else.
Thank you
Jens Kinzel
LÍNEAS Informationstechnik GmbH
D-38122 Braunschweig, Germany -
Cannot send mail with UTL_SMTP
Hello
I use utl_smtp package to send mail. Instance-based local data I can send mails to my desktop e-mail id (that is configured in outlook).
But I need to send an e-mail to e-mail for the customer domain id, it does not work... It shows the error:
ORA-20000: cannot send an e-mail: ORA-29278: SMTP temporary error: 421 Service not available
I got the port number and ip address of our DBAs.
The code is:
DECLARE
v_from VARCHAR2 (80): = ' [email protected] ';
v_recipient VARCHAR2 (80): = ' [email protected] ';
v_subject VARCHAR2 (80): = "test subject";
v_mail_host VARCHAR2 (30): = "192.165.22.30";
v_mail_conn UTL_SMTP.connection;
CRLF VARCHAR2 (2): = CHR (13) | CHR (10);
BEGIN
v_mail_conn: = UTL_SMTP.open_connection (v_mail_host, 21443);
UTL_SMTP. HELO (v_mail_conn, v_mail_host);
UTL_SMTP.mail (v_mail_conn, v_from);
UTL_SMTP. RCPT (v_mail_conn, v_recipient);
UTL_SMTP. DATA (v_mail_conn,
' Date: '
|| To_char (SYSDATE, ' Dy, hh24:mi:ss DD month YYYY ")
|| CRLF
|| "To:
|| v_from
|| CRLF
|| "Subject:"
|| v_subject
|| CRLF
|| « À : »
|| v_recipient
|| CRLF
|| CRLF
|| "user name:'"
|| ' '
|| CRLF
|| -Body of the message
"pwd: '"
|| ''
|| CRLF
);
UTL_SMTP. Quit (v_mail_conn);
EXCEPTION
WHEN UTL_SMTP.transient_error OR UTL_SMTP.permanent_error
THEN
raise_application_error (-20000, "cannot send an email: ' |") SQLERRM);
END;
/
What could be the problem to get this error.
Please help me go further...
Thank you
lucky.
In fact, it is even clearer:
"talk to your network or SA guys, you don't have a Server SMTP configuration to the place you want.
to get to. You should ask them "so, what is the good name and port number for me to use for the host.
send email via SMTP from this server? » »
http://asktom.Oracle.com/pls/Apex/f?p=100:11:0:P11_QUESTION_ID:255615160805 #53465173227894
and if you ctrl + f for 421 on this page, you will get more explanations.
It is not a problem in the database.
-
delete file after sending an e-mail with an attachment
Hello
I looked in the forums and have not found any reference to it.
I need to send an email with an attachment that is source via a form.
The problem I'm having is that when I include the code to remove the file from the directory, the intrusion via cfmail is unable to run. When I do not include the code to delete the file, it works fine.
Any ideas?
I tried with paths, physical and virtual.You need give time for email to send.
Figure 60 seconds or 60 seconds more your spool interval (if the coil is on (on))-whichever is greater.
It would be preferable not to delete the file here.
Set up a scheduled task that deletes files in the target directory that are, say, older than 24 hours.
-
Encoding file attached using UTL_SMTP.
Hello group,
I was asked to use UTL_SMTP to send a simple file in a version of oracle 9i on Windows database, I get the attachment to my mail, but the problem is that when we open the file, the text shows junk characters, or only numbers...
What controls for setting the text encoding or what I'm doing wrong.
Thanks in advance.
declare l_maicon utl_smtp.connection; l_boundary VARCHAR2(50) := '----=*#abc1234321cba#*='; --- v_archivo bfile:=NULL; v_texto varchar(4000); v_adjunto raw(32767); begin l_maicon :=utl_smtp.open_connection('mail.anyuser.com'); utl_smtp.helo(l_maicon,'hostname'); utl_smtp.mail(l_maicon,'[email protected]'); utl_smtp.rcpt(l_maicon,'[email protected]'); UTL_SMTP.open_data(l_maicon); UTL_SMTP.write_data(l_maicon, 'Date: ' || TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS') || UTL_TCP.crlf); UTL_SMTP.write_data(l_maicon, 'To: ' || '[email protected]' || UTL_TCP.crlf); UTL_SMTP.write_data(l_maicon, 'From: ' || '[email protected]' || UTL_TCP.crlf); UTL_SMTP.write_data(l_maicon, 'Subject: ' || 'test email oracle 9i con anexado'|| UTL_TCP.crlf); -- UTL_SMTP.write_data(l_maicon, 'Reply-To: ' || p_from || UTL_TCP.crlf); UTL_SMTP.write_data(l_maicon, 'MIME-Version: 1.0' || UTL_TCP.crlf); UTL_SMTP.write_data(l_maicon, 'Content-Type: multipart/mixed; boundary="' || l_boundary || '"' || UTL_TCP.crlf || UTL_TCP.crlf); UTL_SMTP.write_data(l_maicon, '--' || l_boundary || UTL_TCP.crlf); UTL_SMTP.write_data(l_maicon, 'Content-Type: text/plain; charset="iso-8859-1"' || UTL_TCP.crlf || UTL_TCP.crlf); UTL_SMTP.write_data(l_maicon, 'test de email oracle 9i, pf no tomar en cuenta'); UTL_SMTP.write_data(l_maicon, UTL_TCP.crlf || UTL_TCP.crlf); UTL_SMTP.write_data(l_maicon, '--' || l_boundary || UTL_TCP.crlf); UTL_SMTP.write_data(l_maicon, 'Content-Type: ' || 'text/plain; charset="iso-8859-1"' || '; name="' || 'switch.sql' || '"' || UTL_TCP.crlf); UTL_SMTP.write_data(l_maicon, 'Content-Transfer-Encoding: base64' || UTL_TCP.crlf); UTL_SMTP.write_data(l_maicon, 'Content-Disposition: attachment; filename="' || 'switch.sql' || '"' || UTL_TCP.crlf || UTL_TCP.crlf); v_archivo:=bfilename('BDUMP', 'switch.sql'); dbms_lob.fileopen(v_archivo, dbms_lob.file_readonly); v_adjunto:=dbms_lob.substr(v_archivo); -- v_texto:=dbms_lob.substr(v_archivo); dbms_lob.close(v_archivo); UTL_SMTP.write_data(l_maicon, v_adjunto); UTL_SMTP.write_data(l_maicon, UTL_TCP.crlf || UTL_TCP.crlf); UTL_SMTP.write_data(l_maicon, '--' || l_boundary || '--' || UTL_TCP.crlf); UTL_SMTP.close_data(l_maicon); utl_smtp.quit(l_maicon); end; /
You informed of your recipient, you put the file encoded as an attachment
UTL_SMTP.write_data(l_maicon, 'Content-Transfer-Encoding: base64' || UTL_TCP.crlf);
but you put lob not encoded file
v_archivo:=bfilename('BDUMP', 'switch.sql'); dbms_lob.fileopen(v_archivo, dbms_lob.file_readonly); v_adjunto:=dbms_lob.substr(v_archivo); -- v_texto:=dbms_lob.substr(v_archivo); dbms_lob.close(v_archivo);
Your recipient is trying to not decode not encoded the file and spit out.
You must code them your attachment with UTL_ENCODE.base64_encode before sending an email.
Maybe you are looking for
-
Mail address BCC showing all recipients emails
When sending emails from Bcc, if I don't have an email address in the field address IAB isn't blind coppied to recipients. I don't seem to have this problem before El captain. Mail works correctly?
-
Qosmio x x 770/00 - 1 button does not work by pressing 6 and another button
This will its so weird, but bear with me... I just got a Qosmio x 770/00 x a couple of weeks, mainly for purposes of games.I play in left-handed configuration, using the Num as the directional keys button, with some of the other nondirectional number
-
I cannot take pictures with 5 concerts available through iPhone 5s.
I'm trying to troubleshoot iPhone 5 s mother. She directs questions where it does not allow to take photos more because it says it's full. When go us to settings and look at the use, we have 5 gigs available and used 5 concerts. She has deleted ev
-
The satellite 210cs BIOS update
Can someone help me? (the latest version)
-
iCloud iOS 7 Notes are not synchronized
I'm under iPhone 4 iOS 7 and created iCloud notes on iPad running iOS 9. They are showing on icloud.com yet not on the iPhone even though I have iCloud Mail and Notes under tension and using the iCloud as a default value for the Notes account. How ca