The possible list of SMTP reply codes are as given below. You will able to know what kind of exception has occured during the communication between Oracle and SMTP server. Some of them are status messages and some are exceptions
Reply Codes
The following is a list of the SMTP reply codes.
Table 178-3 SMTP Reply Codes Reply Code Meaning
211
System status, or system help reply
214
Help message [Information on how to use the receiver or the meaning of a particular non-standard command; this reply is useful only to the human user]
220
<domain> Service ready
221
<domain> Service closing transmission channel
250
Requested mail action okay, completed
251
User not local; will forward to <forward-path>
252
OK, pending messages for node <node> started. Cannot VRFY user (for example, info is not local), but will take message for this user and attempt delivery.
253
OK, <messages> pending messages for node <node> started
354
Start mail input; end with <CRLF>.<CRLF>
355
Octet-offset is the transaction offset
421
<domain> Service not available, closing transmission channel (This may be a reply to any command if the service knows it must shut down.)
450
Requested mail action not taken: mailbox unavailable [for example, mailbox busy]
451
Requested action terminated: local error in processing
452
Requested action not taken: insufficient system storage
453
You have no mail.
454
TLS not available due to temporary reason. Encryption required for requested authentication mechanism.
458
Unable to queue messages for node <node>
459
Node <node> not allowed: reason
500
Syntax error, command unrecognized (This may include errors such as command line too long.)
501
Syntax error in parameters or arguments
502
Command not implemented
503
Bad sequence of commands
504
Command parameter not implemented
521
<Machine> does not accept mail.
530
Must issue a STARTTLS command first. Encryption required for requested authentication mechanism.
534
Authentication mechanism is too weak.
538
Encryption required for requested authentication mechanism.
550
Requested action not taken: mailbox unavailable [for , mailbox not found, no access]
551
User not local; please try <forward-path>
552
Requested mail action terminated: exceeded storage allocation
553
Requested action not taken: mailbox name not allowed [for example, mailbox syntax incorrect]
554
Transaction failed





by: sdstuberPosted on 2009-09-18 at 13:52:10ID: 25369881
you can't capture errors that happen after your smtp server gets the message.
xist@some_ domain_tha t_does_not _exist.com " your code will likely work, because everything aobut that is legal for smtp communication.
you can only capture errors that occur while you are communicating with your smtp server.
So, if you send email to "some_user_that_does_not_e
your smtp server will then get an error that it can't find that domain
or if you send to a valid domain but invalid user your server might (or might not) get a bounce back message. Either way your app won't know because it's communication ends once it passes the email to the smtp server