close

ricochet lost worlds keygen download rpc 3ds max 8 free download print shop deluxe free download pc opera 8 jar download Oracle8i On-Line Generic Documentation Release 3 8.1.7 Oracle8i Online Documentation CD-ROM Release 3 8.1.7 for Microsoft Windows Oracle8i Client Online Documentation CD-ROM Release 3 8.1.7 for Microsoft Windows Oracle interMedia Audio, Image, and Video Java Classes Users Guide and Reference, Release 8.1.7 Oracle8i Documentation Addendum, Release 8.1.7 Oracle Label Security Administrators Guide Release 8.1.7 Oracle Heterogeneous Services Release 8.1.7 Oracle8i 8.1.7 Installation Guide for Windows NT Oracle8i 8.1.7 Client Installation Guide for Windows Oracle8i 8.1.7 Release Notes for Windows NT Legato Storage Manager Command Reference Guide Release 8.1.7 for Windows 2000 and Windows NT Oracle Message Broker 2.0.1.0 Installation Guide for Windows NT Oracle Applications InterConnect Installation Guide Release 4.0.0 for Windows NT and UNIX Oracle8i Administrators Reference Release 3 8.1.7 for AIX-Based Systems Oracle8i Installation Guide Release 3 8.1.7 for AIX-Based Systems Oracle8i Release Notes Release 3 8.1.7 for AIX-based Systems 64-bit Oracle8i Release Notes Release 3 8.1.7 for AIX-Based Systems Oracle Message Broker Installation Guide, Release 2.0.1.0 Stand-alone for AIX-Based Systems Oracle8i Administrators Reference Release 3 8.1.7 for Compaq Tru64 UNIX Oracle8i Installation Guide Release 3 8.1.7 for Compaq Tru64 UNIX Oracle8i Release Notes Release 3 8.1.7 for Compaq Tru64 UNIX Oracle Message Broker Installation Guide, Release 2.0.1.0 Stand-alone for Compaq Tru64 UNIX Oracle8i Administrators Reference Release 3 8.1.7 for HP 9000 Series HP-UX Oracle8i Installation Guide Release 3 8.1.7 for HP 9000 Series HP-UX Oracle8i Release Notes Release 3 8.1.7 for HP Series 9000 HP-UX 64-Bit Oracle Message Broker Installation Guide, Release 2.0.1.0 Stand-alone for HP 9000 Series HP-UX Oracle Procedural Gateway for APPC Installation and Configuration Guide Release 8.0.6.1.0 for HP9000 Series 700/800 Oracle8i Administrators Reference Release 3 8.1.7 for Linux Intel Oracle8i Installation Guide Release 3 8.1.7 for Linux Intel Oracle8i Release Notes Release 3 8.1.7 for Linux Intel Oracle8i Installation Guide Release 3 8.1.7 for Alpha OpenVMS Oracle8i Parallel Server Addendum Release 3 8.1.7 for Alpha OpenVMS Oracle8i Release Notes Release 3 8.1.7 for Alpha OpenVMS Oracle8i 8.1.7 Server and Tools Administrators Guide for Alpha OpenVMS Oracle8i Administrators Reference Release 3 8.1.7 for Sun SPARC Solaris Oracle8i Installation Guide Release 3 8.1.7 for Sun SPARC Solaris Oracle8i Release Notes Release 3 8.1.7 for Sun SPARC Solaris Oracle 8i Release Notes Release 3 8.1.7 for Sun SPARC Solaris 64-bit Oracle8i Release Notes Release 3 8.1.7 for IBM DYNIX/ptx Oracle8i Administrators Reference Release 3 8.1.7 for IBM DYNIX/ptx Oracle8i Installation Guide Release 3 8.1.7 for IBM DYNIX/ptx Oracle8i Installation Guide Release 3 8.1.7 64 Bit for SGI IRIX Oracle8i Administrators Reference Release 3 8.1.7 64 Bit for SGI IRIX Oracle8i Installation Guide Release 3 8.1.7 for Unified Intel UNIX Oracle8i Administrators Reference Release 3 8.1.7 for Intel UNIX DG/UX, SCO UnixWare, Solaris Intel Oracle8i Release Notes Release 3 8.1.7 for Intel UNIX DG/UX Intel and SCO UnixWare Oracle 8i Release Notes Release 3 8.1.7 for Solaris Intel UNIX Oracle8i Installation Guide 64 Bit Release 8.1.7 for Fujitsu Siemens ReliantUNIX Oracle8i Administrators Reference 64 Bit 8.1.7 for Fujitsu Siemens ReliantUNIX Oracle8i Release Notes Release 3 8.1.7 64 Bit for SGI IRIX Oracle8i Server 8.1.7 for Fujitsu Siemens Computers BS2000/OSD Users Guide Oracle8i Server 8.1.7 for Fujitsu Siemens Computers BS2000/OSD Installation and Database Administration Guide Phone: 1.800.633.0738 HTTP/1.0 302 Found Location: /pls/asktom/f?p100:11:0::::P11QUESTIONID:255615160805 Server: BigIP Connection: Keep-Alive Content-Length: 0 Sending e-mail! - - Oracle 8i specific response Thanks with the question, Leonardo. Answered by: Tom Kyte Last updated: May 30, 2013 - 2:58 pm UTC Category: Application Server Version: 8.1.5 How for you personalized email to clients registered within my portal utilizing the information held in our Database Oracle 8i automatically? This can be a sample chapter from my book Expert One on One Oracle - it describes how for you email from Oracle versions 816 and better the java only approach described about halfway through works in 815 greater UTLSMTP and sending mail UTLSMTP, introduced with the first time in Oracle 8.1.6, is surely an interface towards the Simple Mail Transfer Protocol. It requires which you have an SMTP server within your network somewhere? most sites I have been to own at least one SMTP server running as it's the most popular solution to sending mail. The UTLSMTP package is best suited for sending small, text only emails through the database. While its API props up sending of attachments and everything? it truly is left to you personally to actually encode the multi-part document? as an example turning binary attachments into mime-encoded documents. Weve already seen the way to use UTLSMTP inside the DBMSJOB section where we got apparently execute faster by executing it asynchronously. In this section we?ll revisit that example, build upon it? adding additional functionality. We will also take a look at an alternative to UTLSMTP that gives somewhat additional functionality? like the ability to simply send attachments with all the email. Since SMTP is really a very low level protocol, well reuse existing public domain code to have an SMTP interface at a lot higher level? and well understand it with almost no code. UTLSMTP? an increased example In the DBMSJOB section, we explored how you can make sending email using UTLSMTP may actually execute faster. We also made email transactional in the wild in that section? when you rollback the email isn't getting sent, in case you commit? out it is. I endorse the use of DBMSJOB being a layer on the emails routines thereby. In that section, the example UTLSMTP routine we used was: tkyteTKYTE816 create or replace 2 PROCEDURE sendmail psender IN VARCHAR2, 3 precipient IN VARCHAR2, 4 pmessage IN VARCHAR2 5 as 6 lmailhost VARCHAR2255: ; 7 lmailconn ; 8 BEGIN 9 lmailconn: connectionlmailhost, 25; 10 lmailconn, lmailhost; 11 lmailconn, psender; 12 lmailconn, precipient; 13 datalmailconn ; 14 datalmailconn, pmessage; 15 datalmailconn ; 16 lmailconn; 17 end; 18Procedure created. tkyteTKYTE816 begin 2 sendmail, 3, 4 Hello Tom ; 5 end; 6PL/SQL procedure successfully completed. That works OK but is quite limited anyway. It sends email to exactly one recipient, you are unable to CC or BCC anyone, you simply can't setup an interest - - the email always arrives which has a?blank? subject line. We would like to aid more options on this package. A full discussion from all of the possibilities with UTLSMTP would require thorough knowledge in the SMTP protocol itself? something is beyond your scope in this book. Readers considering all on the opportunities provided by SMTP should review RFC812? which could be the description of SMTP. This is available on the web at Below, I will simply present how to send out an email using UTLSMTP that supports: o Multiple?to? recipients o Multiple?cc? recipients o Multiple?bcc? recipients o A single body as much as 32k in proportions o A subject line o A descriptive?from? line rather then showing precisely the email address because the?from? from the email client A specification to get a PLSQL package that supports this may look like the subsequent. In here, we define a variety type to allow for the caller to only send a listing of recipients in addition to provide the external specification in the PLSQL routine we are implementing: tkyteTKYTE816 create or replace package mailpkg 2 as 3 type array is table of varchar2255; 4 5 procedure send psenderemail in varchar2, 6 pfrom in varchar2, 7 pto in array default array, 8 pcc in array default array, 9 pbcc in array default array, 10 psubject in varchar2, 11 pbody in long ; 12 end; 13Package created. The package body due to this implementation is fairly straightforward? if understand just enough in the SMTP protocol and what a message looks like how email clients find the From, To, CC and many others. Before we have a look at the code, we?ll check out what a message might actually seem like. Consider these ASCII text: Date: 13 May 01 12:33:22 From: Oracle Database Account Subject: This is really a subject To:, Cc: Hello Tom, this can be the mail you would like That is what you should transmit since the body with the email using UTLSMTP to obtain the email client set the From, Subject, and the like. There are no SMTP commands to do this magic, rather, this header facts are placed right inside body in the email itself? separated on the text from the email with a blank line. Once we recognize that? sending a message with every one of the options we end up needing is pretty easy. The only thing we want to understand beyond which is that in order to deliver the email to more the other recipient, we just call more then once? with some other names. That?s the many information we'd like to know then to send out an email. So, this is actually the package body. We start which has a couple of constants and globals. You will obviously need to affect the gmailhost to become the name of a server you need to get, Aria is my machine inside Oracle? you won't be able to reach that: tkyteTKYTE816 create or replace package body mailpkg 2 as 3 4 gcrlf char2 default chr13chr10; 5 gmailconn ; 6 gmailhost varchar2255: ; 7 Next we have an interior unpublished function to deliver an email to numerous recipients? it in place addresses the email. At the identical time, it builds the?To:? or?Cc:? lines we?ll eventually send as part on the email itself and returns that formatted string. It was implemented like a separate function since we want to make this happen separately to the To, CC, and BCC lists: 8 function addressemail pstring in varchar2, 9 precipients in array return varchar2 10 is 11 lrecipients long; 12 begin 13 for i in 1. 14 loop 15 gmailconn, precipientsi ; 16 if lrecipients is null 17 then 18 lrecipients: pstring precipientsi ; 19 else 20 lrecipients: lrecipients, precipientsi; 21 end if; 22 end loop; 23 return lrecipients; 24 end; 25 26 Now we have now the implementation of our own published function? one people will actually call to deliver mail. It starts with an enclosed procedure writeData that may be used to simplify the sending from the email headers the To:, From:, Subject: records. If the header record is NOT NULL, this routine makes use of the appropriate UTLSMTP call for you it? along while using necessary end of line marker the carriage return/line feed: 27 procedure send psenderemail in varchar2, 28 pfrom in varchar2 default NULL, 29 pto in array default array, 30 pcc in array default array, 31 pbcc in array default array, 32 psubject in varchar2 default NULL, 33 pbody in long default NULL 34 is 35 ltolist long; 36 lcclist long; 37 lbcclist long; 38 ldate varchar2255 default 39 tochar SYSDATE, dd Mon yy hh24:mi:ss ; 40 41 procedure writeData ptext in varchar2 42 as 43 begin 44 if ptext will not be null 45 then 46 data gmailconn, ptext gcrlf ; 47 end if; 48 end; Now we have been ready to essentially send the mai. This part will not be very different through the very simple routine we started with. It begins in a similar fashion? by connecting towards the SMTP server and starting a session: 49 begin 50 gmailconn: connectiongmailhost, 25; 51 52 gmailconn, gmailhost; 53 gmailconn, psenderemail; 54 Here is where it differs, rather than calling once? it uses are addressemail function to refer to it potentially often times, building the?To:? and?Cc:? list for individuals as well. It builds the BCC list but we won?t actually send that any of us don?t want the recipients to find out that list! 55 ltolist: addressemail To:, pto ; 56 lcclist: addressemail Cc:, pcc ; 57 lbcclist: addressemail Bcc:, pbcc ; 58 Now, we utilize OPENDATA call to begin with sending the body with the email. The code on lines 61 through 68 generates the header area of data. Line 69 sends the body on the email the contents on the email and line 70 terminates the email for all of us. 59 datagmailconn ; 60 61 writeData Date: ldate ; 62 writeData From: nvl pfrom, psenderemail ; 63 writeData Subject: nvl psubject, no subject ; 64 65 writeData ltolist ; 66 writeData lcclist ; 67 68 data gmailconn, gcrlf ; 69 datagmailconn, pbody ; 70 datagmailconn ; 71 gmailconn; 72 end; 73 74 75 end; 76Package body created. And that?s it, now since I have numerous email addresses, , , I can test this API in this way: tkyteTKYTE816 begin 2 3 psenderemail , 4 pfrom Oracle Database Account, 5 pto , , 6 pcc , 7 pbcc , 8 psubject This can be a subject, 9 pbody Hello Tom, this can be a mail you'll need ; 10 end; 11PL/SQL procedure successfully completed. And that call is really what generated the ASCII text: Date: 13 May 01 12:33:22 From: Oracle Database Account Subject: This is often a subject To:, Cc: Hello Tom, this can be a mail you would like We saw above? that's what got provided for all of those recipients? including, although we simply cannot see that recipient as it was bcc?ed. That covers most with the typical uses from the UTLSMTP supplied package. Above I did say it truly is capable of sending email with attachments and the like but that may require an inordinate number of effort on our part. We would need to: o Learn the best way to format a multi-part mime encoded document, no small feat o Base-64 encode binary data or use some equivalent encoding technique for instance uuencoding, binhex, and the like That will be conservatively some hundred, in any other case thousands of lines of PL/SQL code. Rather then do this, I will declare that you utilize the already written and extremely robust JavaMail API as described below. Loading and while using the JavaMail API In order to make use of the UTLSMTP package, you will need to already use a Java enabled database in Oracle8i. This is because UTLSMTP relies upon UTLTCP and UTLTCP in return is built on Java functions. Remember, should you dont use a Java enabled database you need to use UTLHTTP as described above to send out simple emails. So, in case you are able to work with UTLSMTP, you need to have a Java enabled database, we could go to your Sun website and download their JavaMail API. This will provide us with the ability to deliver much more complicated emails in the database; including attachments. The following is determined by work performed with a coworker of mine, Mark Piermarini who helps me out with many my Java issues. If you go to youll manage to download their JavaMail API. The download you receive will consist of a number of hundred files; merely one of which we are thinking about. After you download the JavaMail API? ensure also for getting their the JavaBeansTM Activation Framework extension or JAF. This is had to run the JavaMail API package. After you have downloaded those two sets of files? you will should extract from your JavaMail APIdownload and in the JAF download. This is all you could will need because of this? go ahead and read through the documentation, there is often a lot of functionality in there we're also not using, we're also just with all the send a message part from the API. The API includes functions for receiving mail too from IMAP, POP, along with sources. We will should load the and in to the database using loadjava but before we can easily do that people must repackage them. These jar files are compressed in the format that may be not understood from the database byte code interpreter. You ought to unjar and rejar them without compression or employ a tool including WinZip to rejar them in to a zip file. What I did on Windows 2000 was: 1. Used WinZip to extract the belongings in into my c:tempmail directory 2. Used WinZip to develop a new archive 3. Put the valuables in c:tempmail. including subdirectories into this new archive I did the same principle for? only replacing mail with activation inside the above steps. Now were ready to load these zip or jar files, anything you named them in the database. These must be loaded with all the SYS user given that they have protected Java packages that regular users cannot upload. We make use of the commands: loadjava - u sys/manager - o - r - v - f - noverify - synonym - g public loadjava - u sys/manager - o - r - v - f - noverify - synonym - g public Where: o - u sys/manager: would be the userid and password on your SYS account. As stated previously, some in the packages are protected and has to be loaded as SYS o - o: is shorthand for?oci8, I am with all the oci8 driver. You could utilize the thin driver also but youll must modify the command to accomplish this o - r: is short for?resolve. This will resolve all external references inside loaded classes assisting to verify which the loaded java classes will be capable of function if we load them o - v: is short for?verbose. This gives us something to complete while loadjava is running. We can find it work through each step of that process. o - f: is short for?force. This isnt necessary within the first load but is OK make use of. If you try a loadjava thus hitting an error, you may correct it, and reload? then you'd either ought to use the dropjava command to lower the jar file from your database or use?force. Using?force just makes it easier for many people. o - noverify: will not attempt to verify the bytecode. You need to be granted Verifier to try and do this option. In addition, this approach must be used in partnership with - r. SYS has this privilege. This is needed for the reason that bytecode verifier will flag some issues while using file this also works around that issue. o - synonym: creates public synonyms of those classes. Since we will never install the mail java code we write as SYS, this will give us to view the SYS loaded java classes. o - g public: grants execute on these loaded classes to PUBLIC. If this will not be desirable, customize the?g to be the user you intend to create the send mail routines in, as an example - g UTILITYACCT. You can find out much more about loadjava plus the above options inside the Oracle8I Java Developers Guide. After these packages are loaded, were ready to develop a Java stored procedure to truly send the mail. This procedure will act as being a thin layer on top on the JavaMail API and definately will let us ultimately write a PL/SQL binding layer with all the following spec: tkyteTKYTE816 desc send FUNCTION send RETURNS NUMBER Argument Name Type In/Out Default? - -------- - ------ - -- - -- PFROM VARCHAR2 IN PTO VARCHAR2 IN PCC VARCHAR2 IN PBCC VARCHAR2 IN PSUBJECT VARCHAR2 IN PBODY VARCHAR2 IN PSMTPHOST VARCHAR2 IN PATTACHMENTDATA BLOB IN PATTACHMENTTYPE VARCHAR2 IN PATTACHMENTFILENAME VARCHAR2 IN This function will give to us the chance to use CCs and BCCs and send an attachment. It is left for an exercise with the reader to implement passing arrays of BLOBs or overloading this to aid CLOB or BFILE types for attachments too. The Java stored procedure we're going to create follows. It uses the standard functionality with the JavaMail API class and is comparatively straightforward. Again, we have been not going into the many uses with the JavaMail API that might be a book inside of it, precisely the basics here. The?mail? class below incorporates a single method?send?. This could be the method we are going to use to send out a message. As it's implemented, it returns the most important if it truly is successful in sending the meial as well as a 0 otherwise. This implementation is incredibly basic? it could be considerably more sophisticated, providing support for many people attachment types CLOBS, BFILES, LONGS etc. It could be modified to report back for the caller the complete error received from SMTP like?invalid recipient, no transport, and so forth. tkyteTKYTE816 create or replace and compile 2 java source named mail 3 as 4 import ; 5 import ; 6 import ; 7 import ; 8 import ; 9 import ; 10 import ; 11 import ; 12 import ; 13 14 public class mail 15 16 static String dftMime application/octet-stream; 17 static String dftName ; 18 19 public static 20 sendString from, 21 String to, 22 String cc, 23 String bcc, 24 String subject, 25 String body, 26 String SMTPHost, 27 attachmentData, 28 String attachmentType, 29 String attachmentFileName The above argument list matches up using the SQL call specification we outlined above? the arguments are pretty much self explanatory. The two that will need some clarification are definitely the attachmentType along with the attachmentFileName. The attachmentType must be a MIME Multi-purpose Internet Mail Extensions type? you may be familiar with from HTML documents. The MIME form of a GIF image by way of example is?image/gif?, the mime kind of a plain text document could well be?text/plain?, an HTML attachment could be?text/html? etc. The attachmentFileName on this example is NOT the an existing OS file that could be attached instead the filename in the attachment within the email itself? just what the recipient on this email might find the name with the attachment as. The actual attachment is the that may be sent for this routine. Now, on the body in the code. We begin by setting the session? for the name from the SMTP host the caller delivered to us? the JavaMail API reads this value when deciding what SMTP server for connecting to: 30 31 int rc 0; 32 33 try 34 35 Properties props ; 36, SMTPHost; 37 Message msg 38 new props, null; 39 Next, we create the email headers. This part tells the JavaMail API who the material if from, who for you it to, who to transmit a?carbon copy? cc or?blind carbon copy? bcc, what are the subject from the email is and what date ought to be associated using the email: 40 new InternetAddressfrom; 41 42 if to! null 0 43, 44 to, false; 45 46 if cc! null 0 47, 48 cc, false; 49 50 if bcc! null 0 51, 52 bcc, false; 53 54 if subject! null 0 55 subject; 56 else no subject; 57 58 new Date; 59 Next, we use one of two methods to transmit an email. If the attachmentData argument will not be null, then we are going to MIME encode the email? an ordinary that props up sending of attachments along with other multi-part documents. We make this happen by creating multiple MIME parts of the body? in this particular case a pair of them, one with the body on the email the text along with the other for that attachment itself. Lines 76 through 78 take some additional explanation. They are how you can send a message via a BLOB. The JavaMail API doesn?t be aware of the type natively it can be after all a normal API. In order to send out the BLOB attachment, we should provide a method for your JavaMail API to acquire at the BLOB data. We accomplish this by creating your own DataHandler? a class with the interface that this JavaMail API understands how you can call in order to acquire data to populate the attachment. This class BLOBDataHandler is implemented by us as being a nested class below. 60 if attachmentData! null 61 62 MimeBodyPart mbp1 new MimeBodyPart; 63 body! null? body: ; 64 ; 65 66 MimeBodyPart mbp2 new MimeBodyPart; 67 String type 68 attachmentType! null? attachmentType: dftMime; 69 70 String fileName attachmentFileName! null? 71 attachmentFileName: dftName; 72 73 ; 74 fileName; 75 76 new 77 DataHandlernew BLOBDataSourceattachmentData, type 78 ; 79 80 MimeMultipart mp new MimeMultipart; 81 mbp1; 82 mbp2; 83 mp; 84 If the email won't have an attachment? setting the body with the email is accomplished very simply with the single call to setText: 85 else 86 87 body! null? body: ; 88 89 msg; 90 rc 1; 91 catch Exception e 92 93 ; 94 rc 0; 95 finally 96 97 return new rc; 98 99 100 Now for that nested class BLOBDataSource. It simply provides a normal interface to the JavaMail API to get into our type. It can be quite straightforward rolling around in its implementation: 101//Nested class that implements a DataSource. 102 static class BLOBDataSource implements DataSource 103 104 private BLOB data; 105 private String type; 106 107 BLOBDataSourceBLOB data, String type 108 109 type; 110 data; 111 112 113 public InputStream getInputStream throws IOException 114 115 try 116 117 ifdata null 118 throw new IOExceptionNo data.; 119 120 return ; 121 catchSQLException e 122 123 throw new 124 IOExceptionCannot get binary input stream from BLOB.; 125 126 127 128 public OutputStream getOutputStream throws IOException 129 130 throw new IOExceptionCannot do that.; 131 132 133 public String getContentType 134 135 return type; 136 137 138 public String getName 139 140 return BLOBDataSource; 141 142 143 144Java created. Now we have the Java class designed for PL/SQL to bind to, we'd like to create that binding routine to map the PL/SQL types with their Java Types and also to bind the PL/SQL routine to this particular Java class. That is simply: tkyteTKYTE816 create or replace function send 2 pfrom in varchar2, 3 pto in varchar2, 4 pcc in varchar2, 5 pbcc in varchar2, 6 psubject in varchar2, 7 pbody in varchar2, 8 psmtphost in varchar2, 9 pattachmentdata in blob, 10 pattachmenttype in varchar2, 11 pattachmentfilename in varchar2 return number 12 as 13 language java name , 14, 15, 16, 17, 18, 19, 20, 21, 22 23 return ; 24Function created. Now, abdominal muscles last thing we should do before applying this is to ensure our user the owner on the above mail class and send stored procedure has sufficient privileges to complete the routine. Those would be these: sysTKYTE816 begin 2 permission 3 grantee TKYTE, 4 permissiontype , 5 permissionname, 6 permissionaction read, write 7 ; 8 permission 9 grantee TKYTE, 10 permissiontype , 11 permissionname, 12 permissionaction connect, resolve 13 ; 14 end; 15PL/SQL procedure successfully completed. Note that within the grant on, I used a wildcard within the permissionname. This allows TKYTE in order to connect to and resolve ANY host. Technically, we're able to put in there only the name from the SMTP sever i will be using. That could well be the minimal grant we needed. This is needed as a way to resolve the hostname of the SMTP host after which connect to it. The other permission, , is needed to be able to set the within our sessions properties. Now were ready to test. I reused some code on the DBMSLOB section where there were a routine loadafile. I modified that along with the DEMO table to get a BLOB column as opposed to a CLOB and loaded the file we loaded in like a class into this demo table. Now I can use the next PL/SQL block to transmit it to myself as a possible attachment in the email in the database: tkyteTKYTE816 set serveroutput on size 1000000 tkyteTKYTE816 exec output 1000000 tkyteTKYTE816 declare 2 retcode number; 3 begin 4 for i in select theBlob from demo 5 loop 6 retcode: send 7 pfrom , 8 pto , 9 pcc NULL, 10 pbcc NULL, 11 psubject Use the attached Zip file, 12 pbody to transmit email with, 13 psmtphost , 14 pattachmentdata , 15 pattachmenttype application/winzip, 16 pattachmentfilename ; 17 if retcode 1 then 18 line Successfully sent ; 19 else 20 line Failed to send out ; 21 end if; 22 end loop; 23 end; 24Successfully sent PL/SQL procedure successfully completed. You definitely would like to set serverouput on and call the OUTPUT routine on when testing this. This is considering that the exception has printed because of the Java stored procedure to and also default that can go right into a trace file about the server. If you want to discover any errors inside your SQLPlus session, you How do you send the mails thru oracle 7.1 database as ourt dataBase is just not Oracle 8. can u plz send me ur exactly the same solution work with Oracle 7.1??? Reviewer: Bijay R. Tuladhar from Hayward, CA This is one in the most useful solutions. Thank you Tom for helping people! Excelent, but sending mails has become discussed, think about receiving mails. Reviewer: Shawn from Toronto, ON, Canada I attempted to un-jar them and re-jar the files. while using the loadjava I am getting a exception. Any suggestions? Or is it possible to send me the re-jared files and identify where to have them. Thanks, The error message is: loadjava - u user/paswddb - o - r - f - v initialization complete loading: mail creating: mail resolver: resolving: mail errors: mail ORA-29535: source requires recompilation mail:31: Class Message not found. mail:31: Class MimeMessage not found. mail:37: Variable msg might possibly not have been initialized. mail:39: Variable msg mightn't have been initialized. mail:41: Variable msg may possibly not have been initialized. mail:44: Undefined variable or class name: Transport Info: 6 errors loadjava: 8 errors Can anyone aid me out? Thanks beforehand. Reviewer: Rajesh Jaswal from Hoshiarpur, Punjab Reviewer: Akthar amp; Kamalanathan - from Singapore Neatly through with correct step, We would like to commentchecklist something on positive sense, 1. First to commence with Check whether JVM for Oracle is installed, else run add classpath the steps 1, 2, 3, 4 given from the TOMs response with replace on 4 you need to desc send not desc mail. Step 5 make changes to fit your SMTP HOST. 4. You are Wish u Happy Oracle Mailing on 8.1.5. October 25, 2001 - 1:11 am UTC Dont you believe that from the sentence loadjava parameter - s synonym for and elso need to be present? December 28, 2001 - 10:11 am UTC It is great but the best way to attach file to my e-mail? January 26, 2002 - 10:25 pm UTC Dears, When running on step three i got these errors. Can anyone aid me out from it? D:mail loadjava - u marchant/marchantitcmis - o - r - f - v arguments: - u marchant/marchantitcmis - o - r - f - v creating: source mail loading: source mail creating: mail resolving: source mail errors: source mail ORA-29535: source requires recompilation mail:31: Class Message not found. mail:31: Class MimeMessage not found. mail:37: Variable msg may possibly not have been initialized. mail:39: Variable msg may possibly not have been initialized. mail:41: Variable msg might not have been initialized. mail:44: Undefined variable or class name: Transport Info: 6 errors The following operations failed source mail: resolution exiting: Failures occurred during processing Thanks use NOVERIFY too. On Januarary 27th, 2002 - - I totally rewrote the answer to this particular. The answer above is an extract from my book containing better step by Follow those. January 27, 2002 - 3:08 am UTC HI all While loading Jar files I am getting these error, can any body identify why?? loadjava - u sys/changeoninstall - o - r - v - g public : oracle/jdbc/driver/OracleDriver at :526 at :442 at :93 1 in a:1149 at :1021 at :193 at :49 January 28, 2002 - 11:07 pm UTC I tried for you email from D2K however it failed. I used TYPE much like your writings earlier, however it shows error, because OBJTYPE will not be a procedure. How it will probably be solved? Would you please provide me a solution? January 31, 2002 - 4:57 am UTC hi, I tried the primary example, it will not seem to work. Any Idea? thanks beforehand Yogeeraj SQL begin sendmail, , Hello Deg ; end;2 3 4 5 6 begin ERROR at line 1: ORA-20001: 421 Service unavailable ORA-06512: at SMTP, line 83 ORA-06512: at SMTP, line 121 ORA-06512: at MAIL, line 8 ORA-06512: at line 2 SQL took action now not employ a valid mail host inside your sendmail routine. You are getting an oversight back through the smtp server which isnt an smtp server saying im out of stock you did change: 5 as 6 lmailhost VARCHAR2255: ; 7 lmailconn ; 8 BEGIN to obtain a hostname that will be valid in your case right? February 01, 2002 - 6:40 am UTC Hi, thank you for locating the error in my opinion. Indeed, there seemed to be an error within the address. sorry for virtually every inconveniences. ; For sure, this will assist me proceed inside my implementations and research. Best Regards Yogeeraj February 18, 2002 - 9:33 pm UTC Tom this mail routine we're also using it since previous few months and it is running and mailing well. thank u a whole lot. I have made some changes to this particular routine to transmit multiple files by not passing blob array.as would not know I for doing that.!!! but by reading files in java program.! I would like for you u the cause. Mean I would love to know the one thing what decides total attachment size to become sent in one mail. In one database sch I can send attachments of 1MB whereas in other Im limited by 6 m cannot find what's restricting me from sending bigger or oracle parameter as both of these are on diff unix servers but SMTP is same. Once again Many appreciate your ur continuous support. February 21, 2002 - 10:01 am UTC Hi Thomas, Your solutions are merely great. I have used your code for you email. But I facing a peculiar problem. Once there were a problem from the SMTP server plus it stopped responding, now right then I fired a mail in the database. The result was that my sesion got hung. Is there by any means of trapping the mistake. February 25, 2002 - 12:46 am UTC Hi Check the trace file generated in on your own server u may obtain the exacty nature of problem there. February 25, 2002 - 1:40 pm UTC Reviewer: Bob Yexley from Dayton, OH USA Thanks so much just for this solution. If I can have it working, it will probably be a HUGE help and solution for your needs. I am looking to follow the instructions outlined here, and did everything they said to try and do, but am having problems using the loadjava command for When I ran it, it loaded everything fine, but ran into problems when trying to solve referenced objects. Im getting ORA-29534, as well as the result is 45 unresolved object references as soon as the load. The loading on the worked great, no problems in any way, but had difficulty with SOME on the objects in Here is one example from the errors that I am getting: skipping: com/sun/mail/imap/RightsRight is definitely resolved skipping: javax/mail/IllegalWriteException has already been resolved skipping: com/sun/mail/iap/Argument has already been resolved resolving: com/sun/mail/smtp/SMTPMessage errors: com/sun/mail/smtp/SMTPMessage ORA-29534: referenced object /mail/internet/MimeMessage could hardly be resolved resolving: javax/mail/internet/MimeMessage errors: javax/mail/internet/MimeMessage ORA-29521: referenced name javax/activation/DataHandler could hardly be found ORA-29521: referenced name javax/activation/DataSource could hardly be found resolving: javax/mail/FolderClosedException errors: javax/mail/FolderClosedException ORA-29534: referenced object /mail/Folder cannot be resolved Any idea whats wrong, and/or how I can repair it?? - ::YEX::- show me a cut and paste of the loadjava command. February 26, 2002 - 1:24 pm UTC Can you reload the two activation and mail ZIP files using another user? This will facilitate debugging and we can easily use it to determine the resolver for virtually any problems. Also, add - debug for your loadjava commands and send that output to February 26, 2002 - 1:39 pm UTC Reviewer: Raza from Toronto, Canada I was trying toms example 1 and also have this error! can anybody help me out begin psenderemail , pfrom Oracle Database Account, pto , , pcc , pbcc , psubject This is often a subject, pbody Hello Raza, here is the mail you would like ; end; ORA-29540: class oracle/plsql/net/TCPConnection won't exist ORA-06512: at TCP, line 678 ORA-06512: at TCP, line 247 ORA-06512: at SMTP, line 99 ORA-06512: at SMTP, line 121 ORA-06512: at PKG, line 49 ORA-06512: at line 2 and what needs for being done!!!??? search for ORA-29540 on this web site. February 26, 2002 - 3:29 pm UTC this really should not be done on the network - - the file that you are loading must be one on the server anyway dont makes use of the network. February 26, 2002 - 4:03 pm UTC Do we want to do the identical things for Oracle9i because you described on this detailed instruction? If it really is different, can you explain furthermore, it in detail? Thanks a lot! Harvey should are employed in 9i, havent loaded this myself up to now but the steps would basically be the identical you dont need to use sys and possibly wont manage to use sys typically in 9i, that might be different yes, you should need to do that in 9i in case you wanted to deliver email with attachments. February 26, 2002 - 5:43 pm UTC Thx for the Valuable ideas We have succefully implmented the SMTP mail with any attachments Including Binary in Pure oracle code i.e It Converts Binary to Base 64 format Thx Ashok February 27, 2002 - 9:58 am UTC I cant have it work! I have two instances running around the same machine, I have opened the telnet session on box where my database is, and attempting to load by issuing this command. RCISDEV loadjava - user sys/changeoninstallrcisdvl And getting this error. SQL Error while connecting with oci8 driver to rcisdvl: ORA-01031: insufficient privileges can't open connection loadjava: 2 errors I checked my ORACLE SID which can be set to rcisdvl and when I issue loadjava without rcisdvl RCISDEV loadjava - user sys/changeoninstall Then I fully grasp this error!! SQL Error while connecting with oci8 driver to default database: ORA-01034: ORAC LE out of stock ORA-27101: shared memory realm isn't going to exist IBM AIX RISC System/6000 Error: 2: No such file or directory couldn't open connection loadjava: 2 errors What ought to be done!!! you advice Thanks ahead of time Raza Followup February 27, 2002 - 10:44 am UTC You should log in because the Oracle software owner. You should verify your oracle home and oracle sid You should verify that you'll be able to then: sqlplus sys/changeoninstall then run loadjava. Very nice! But can anyone help me get more information regarding UTLSMTP. Tom, In your pl/sql solution if bcc list just isn't written out with writeData, would you explain operate will work? Thanks, Chris because this: 15 gmailconn, precipientsi ; does the exact sending, the writing with the CC and TO list is merely for display - - the decision to writedata with this doesnt affect WHO the email is actually delivered to - - just the email client displays. I have followed each of the instructions. And they were successfull also. But when I type the next command SQL desc send ERROR: ORA-04043: object send will not exist I obtain the above said error. Can anybody assist me to. The mail8i and activation8i, are proper. But if anybody features a working version please send on

2015 oracle 8i download for windows xp

Thank you for your trust!