ORA-29279:SMTP permanent error:552 5.3.4 Message size exceeds fixed maximum

Hi,
I can send attachments smaller than 25MB.
But my attachment is 27MB and it fails. Don't ask why I need to send this big file by email, I have to.
Where can I change this maximum size?
- any parameter in utl_smpt?
- any parameter in server where DB is located? (Linux 2.6.18-238.1.1.el5)
- any parameter in smtp machine server?
Thanks.
Joaquín González
Edited by: Joaquin Gonzalez on Apr 12, 2012 11:46 AM

The actual error, "+552 5.3.4 Message size exceeds fixed maximum+", is from the smtp server. Oracle expects a 0 return code and instead get a 522 return code in the smtp server's response (to the DATA command). So Oracle throws an exception that in turn contains the error response of the smtp server.
Interesting that you did not get the error earlier - many smtp servers have the ceiling set a lot lower and you can expect this error after sending around 5MB of data.
There are ways around this. Send the attachment as multiple fragments using a compression technology like zip or rar (where it is fairly easy for the recipient to reconstruct the source from the pieces send).
There's also another problem. The 20+ MB e-mail may be accepted by the smtp server, but the POP3, IMAP (or Exchange?) account (mail drop) may not accept an e-mail of that size.
Success is also assuming that you are delivering that mail directly to the correct/target smtp server. If not, then that e-mail needs to be relayed via a number of intermediate smtp servers before reaching the target smtp server and domain.
And there is a good chance that one of these relay servers will object to the size of the e-mail and trigger a hard bounce response.
Keeping an attachment size down to at most 3 to 5 MB is IMO the better approach as that guarantees a better chance of delivery than a 20+ MB e-mail.

Similar Messages

  • ORA-29279: SMTP permanent error: To Send Mail from Oracle 10g (10.2.0.1)

    I have installed Oracle 10g (10.2.0.1) on Windows XP (SP2) machine at my home PC.There is a broadband connection on my home PC.I have installed UTL_MAIL package and then set SMTP_OUT_PARAMETER by the following SQL Statement.
    My machine IP address is 192.168.0.3
    SQl> alter system set smtp_out_server = 'smtp.bsnl.in:25' scope = 25;
    Then we run the following script.
    BEGIN
    UTL_MAIL.SEND(
    SENDER => '[email protected]',
    RECIPIENTS => '[email protected]',
    SUBJECT => 'Testing UTL_MAIL',
    MESSAGE => 'The receipt of this email means'||
    'that it works for UTL_MAIL'
    END;
    Then following error message comes.
    BEGIN
    ERROR at line 1:
    ORA-29279: SMTP permanent error: 553 Authentication is required to send mail as
    <[email protected]>
    ORA-06512: at "SYS.UTL_SMTP", line 21
    ORA-06512: at "SYS.UTL_SMTP", line 99
    ORA-06512: at "SYS.UTL_SMTP", line 222
    ORA-06512: at "SYS.UTL_MAIL", line 407
    ORA-06512: at "SYS.UTL_MAIL", line 594
    ORA-06512: at line 2
    Can anybody suggest the solution of the above problem.

    Hi,
    is your smtp server configured to use anonymous connection?
    Attackwave
    Reply Code       Description
    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.
    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

  • ORA-29279: SMTP permanent error: 501 5.5.2

    im getting the error
    ORA-29279: SMTP permanent error: 501 5.5.2 Syntax error in parameters scanning "FROM"
    kindly help . What is the problem exactly?

    I'm having this same issue now.
    This doesn't happen to my other databases on another server.
    Basically, I have a startup trigger that sends out mail, and I'm finding on database on a particular (new) server, UTL_SMTP is getting this error.
    Have you figured out your root cause?

  • ORA-29279: SMTP permanent error: 554 5.5.1 Error: no valid recipients

    Hi ,
    Following error msg coming when notification was sending to mail .
    ORA-29279: SMTP permanent error: 554 5.5.1 Error: no valid recipients
    Please advise how to clear this error.
    Thanks&Regards
    Ranganath Konikineni

    It's not related to oracle. Check How you made the connection with SMTP server and to whom you are sending the mail.
    Post your code with tag like {noformat} Your lines of code {noformat}                                                                                                                                                                                                                                                                                                                                                                                                                               

  • ORA-29279: SMTP permanent error: 530 5.7.0 Must issue a STARTTLS command fi

    Hello friend,
    I have changed my smtp server to send email but now i am getting a different error like given below
    ORA-29279: SMTP permanent error: 530 5.7.0 Must issue a STARTTLS command first. 2sm141783tif.39
    I dont know what is this STARTTLS command.
    Pls help me ;
    Thanks,
    Uttam SIngh

    It is NOT obvious to someone experiencing a ORA-29279: SMTP permanent error: messages that the root cause is in the SMPT server, it is still an ORA error code. It is especially NOT OBVIOUS, if that person is OBVIOUSLY a newbie. It is OBVIOUS that when you essentially flame people for asking such questions you discourage them from ever asking questions on your forum.
    Could you PLEASE, PLEASE, PLEASE be a little less arrogant and stop cluttering up this forum with over-the-top and OFF responses????
    Thank You in Advance Mr. Expert.

  • ORA-12012: error on auto execute of job 754461 ORA-29279: SMTP permanent error: ORA-29279: SMTP permanent error: 501 Syntax error, parameters in command "RCPT TO:" unrecognized or missing ORA-06512: at "SYS.UTL_SMTP", line 20 ORA-06512: at "SYS.UTL_SMTP",

    Hi ,
    I am getting below error frequently in alert log of database.
    ORA-12012: error on auto execute of job 754461
    ORA-29279: SMTP permanent error: ORA-29279: SMTP permanent error: 501 Syntax error, parameters in command "RCPT TO:" unrecognized or missing
    ORA-06512: at "SYS.UTL_SMTP", line 20
    ORA-06512: at "SYS.UTL_SMTP", line 98
    ORA-06512: at "SYS.UTL_SMTP", line 240
    ORA-06512: at "APPS.EIS_UTIL_PKG", line 94
    ORA-06512: at "APPS.HKD_PO_ADDON_PKG", line 110
    ORA-06512: at line 1

    You have a job running in the database. Its job ID is 754461
    It looks as if that job runs APPS.HKD_PO_ADDON_PKG
    That job is attempting to send mail using UTL_SMTP and apparently passing some strange value to SMTP server for the RCPT TO: parameter.

  • UTL.MAIL error ORA-29279: SMTP permanent error: 501 Address Syntax Error in

    Hi,
    I am new to the forum so please excuse if I post incorrectly without conforming to the standards.
    We need to send mails using the UTL.MAIL package and have installed them on the database.
    Whenever I am trying to send an email I am getting the following error:
    ERROR at line 1:
    ORA-29279: SMTP permanent error: 501 Address Syntax Error in
    [email protected]
    ORA-06512: at "SYS.UTL_MAIL", line 654
    ORA-06512: at "SYS.UTL_MAIL", line 671
    ORA-06512: at line 2
    The test code which I am running is as follows:
    BEGIN
    UTL_MAIL.send(sender => 'test <[email protected]>',
    recipients => '[email protected]',
    subject => 'UTL_MAIL test subject',
    message => 'UTL_MAIL test body');
    END;
    I have tried different combinations:
    BEGIN
    UTL_MAIL.send(sender => 'test "<[email protected]>"',
    recipients => '[email protected]',
    subject => 'UTL_MAIL test subject',
    message => 'UTL_MAIL test body');
    END;
    even tried
    BEGIN
    UTL_MAIL.send(sender => '[email protected]',
    recipients => '[email protected]',
    subject => 'UTL_MAIL test subject',
    message => 'UTL_MAIL test body');
    END;
    Everytime I am getting the same error.
    This seems to be working with an exchange mail server but never on the SMTP server.
    In the SMTP server logs the sender address is not having the angular brackets <> unlike the other mails which are being sent over.
    It seems that the SMTP server is pretty strict and the SMTP admin will not change any settings on the server.
    The oracle version is as follows
    Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
    Could you please help me out with a solution.
    Some how the angular brackets are geting stripped off (which UTL MAIL package generally does), Is there any way in which I can include the angular brackets.
    Edited by: 984757 on 29-Jan-2013 02:56
    Edited by: 984757 on 29-Jan-2013 02:57

    I dislike UTL_MAIL - clunky and poor abstraction interface, and not well written.
    Had a look at the code. It does this:
    WHILE (ALL_RCPTS IS NOT NULL) LOOP
          UTL_SMTP.RCPT(MAIL_CONN,'&lt;' || GET_ADDRESS(ALL_RCPTS) || '&gt;');
    END LOOP;The GET_ADDRESS() function process the ALL_RCPTS parameter, returns the 1st address from it, and updates the (in/out) parameter with the remaining string.
    SQL> var address varchar2(200);
    SQL> exec :address := '<[email protected]>,[email protected]';
    PL/SQL procedure successfully completed.
    SQL> exec dbms_output.put_line( 'get_address='||UTL_MAIL.GET_ADDRESS(:address)||' address='||:address );
    get_address=[email protected] address=[email protected]
    PL/SQL procedure successfully completed.
    SQL> exec dbms_output.put_line( 'get_address='||UTL_MAIL.GET_ADDRESS(:address)||' address='||:address );
    get_address=[email protected] address=
    PL/SQL procedure successfully completed.
    SQL> The address is explicitly surrounded by brackets as per the RFC. So that is what your SMTP server should see.
    If not - perhaps then our UTL_MAIL versions do not match. Cannot recall from what version I pulled and unwrapped the UTL_MAIL package code I have.
    Personally though, I've ceased using UTL_MAIL a while back. It lacks in may respects. I have written my own mail package that supports multiple attachment, complex Mime formatting, attachments of 20+ MB in size, and so on - running on the UTL_SMTP interface (that provides the transport layer for sending mail). And for issues like you are facing, I suggest considering using UTL_SMTP directly.
    Edited by: Billy Verreynne on Jan 29, 2013 12:52 PM
    (Updated the code with HTML entity names to get the code snippet to render correctly)

  • Unable to send Email: ORA-29279: SMTP permanent error: 501 Syntax error in

    We have a procedure use utl_smtp in 10g (10.0.4). we got this msg (Unable to send Email: ORA-29279: SMTP permanent error: 501 Syntax error in arguments) when send e-mail to another mail box (internal),
    but we use the same procedure running in 10g(10.03) it works perfectly. Is Oracle 10g(10.0.4 vs. 10.0.3) causing this issue ? Can someone shed some lights on my head ? Thx.

    We found what is wrong about this.
    The problem is in CC we had a e-mail address has one space like this test [email protected] so UTL_smtp doesn't like this kind format then we recreated a new e-mail address without space and it works fine.

  • Getting ORA-29279: SMTP permanent error: 553

    Error report:
    ORA-29279: SMTP permanent error: 553 Requested action not taken: mailbox name not allowed
    ORA-06512: at "SYS.UTL_SMTP", line 20
    ORA-06512: at "SYS.UTL_SMTP", line 98
    ORA-06512: at "SYS.UTL_SMTP", line 221
    ORA-06512: at "SYS.UTL_MAIL", line 397
    ORA-06512: at "SYS.UTL_MAIL", line 608
    ORA-06512: at line 2
    29279. 00000 - "SMTP permanent error: %s"*Cause: A SMTP permanent error occurred.
    *Action:   Correct the error and retry the SMTP operation..
    The mail server changed in our company and i have updated the smtp_out_server parameter in system to reflect the new ip with the port.
    But when i try testing the utl_mail package, i get this error message. It used to work fine with the old mail server. Nothing else has changed.
    Please advice.
    Thanks
    Kavita

    994008 wrote:
    Error report:
    ORA-29279: SMTP permanent error: 553 Requested action not taken: mailbox name not allowed
    ORA-06512: at "SYS.UTL_SMTP", line 20
    ORA-06512: at "SYS.UTL_SMTP", line 98
    ORA-06512: at "SYS.UTL_SMTP", line 221
    ORA-06512: at "SYS.UTL_MAIL", line 397
    ORA-06512: at "SYS.UTL_MAIL", line 608
    ORA-06512: at line 2
    29279. 00000 - "SMTP permanent error: %s"*Cause: A SMTP permanent error occurred.
    *Action:   Correct the error and retry the SMTP operation..
    The mail server changed in our company and i have updated the smtp_out_server parameter in system to reflect the new ip with the port.
    But when i try testing the utl_mail package, i get this error message. It used to work fine with the old mail server. Nothing else has changed.
    Please advice.
    Thanks
    Kavitawhile logged onto the DB then do as below
    telnet <new_mail_server> 25
    post results back here

  • ORA-29279: SMTP permanent error: 530 5.7.0 Must issue a STARTTLS command

    Hi,
    When am sending mail through apex_mail it getting an error { " ORA-29279: SMTP permanent error: 530 5.7.0 Must issue a STARTTLS  "}
    ACL Package
    {{{{  " DECLARE
    ACL_PATH VARCHAR2(4000);
    ACL_ID RAW(16);
    BEGIN
    -- Look for the ACL currently assigned to '*' and give APEX_040100
    -- the "connect" privilege if APEX_040000 does not have the privilege yet.
    SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
    WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
    -- Before checking the privilege, make sure that the ACL is valid
    -- (for example, does not contain stale references to dropped users).
    -- If it does, the following exception will be raised:
    -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_040100'
    -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
    SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
    WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
    EQUALS_PATH(P.RES, ACL_PATH) = 1;
    DBMS_XDBZ.ValidateACL(ACL_ID);
    IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_040100',
    'connect') IS NULL THEN
    DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
    'APEX_040100', TRUE, 'connect');
    END IF;
    EXCEPTION
    -- When no ACL has been assigned to '*'.
    WHEN NO_DATA_FOUND THEN
    DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
    'ACL that lets power users to connect to everywhere',
    'APEX_040100', TRUE, 'connect');
    DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
    END;
    COMMIT;
    And i changed in the instance settings under email to smtp credentials.
    can anyone tel me about this error.??
    My apex version - 4.1.1
    database version - 11gr2
    Edited by: Tulasi 1243 on Aug 17, 2012 4:27 PM

    Hi,
    Many mail server provides like gmail use TLS/SSL for mail transmission. The error suggest your mail server is expecting a TLS/SSL connection.
    The TLS/SSL connection is not part of the UTL_SMTP and UTL_MAIL API. You have to either use Wallet as described here http://oracleblues.blogspot.in/2010/09/11g-release-2-11202-new-utlsmtp.html or use a third party tunneler like stunnel as described here http://monkeyonoracle.blogspot.in/2009/11/plsql-and-gmail-or-utlsmtp-with-ssl.html
    Cheers,

  • Ora-29279: SMTP permanent error Unbalanced ' ' XE

    Dear Sirs
    Sorry for my bad english, I'm not from USA; I have a problem when I send email in Oracle Express Aplication Release 11.2.0.2.0, I get this mistake ora-29279: SMTP permanent error <[email protected].. Unbalanced '>' and I don`t know what happen. I configure UTL_MAIL in this way:
    [host@oracle]$ cd $ORACLE_HOME/rdbms/admin
    [host@oracle]$sqlplus / as sysdba
    SQL> @utlmail
    SQL> @utlsmtp
    SQL> @prvtmail.plb
    SQL> GRANT EXECUTE ON utl_mail TO PUBLIC;
    SQL> GRANT EXECUTE ON utl_smtp TO PUBLIC;
    SQL> alter system set smtp_out_server='192.168.170.10' scope=both;
    ACL: Access Control List
    in White Horses Blog
    Create ACL and privileges
    Now first create an ACL as SYS (or any other user with DBMS_NETWORK_ACL_ADMIN execute granted), this will hold the privileges. You can add as many privileges as you like to this file, but I would recommend to split privileges in the ACL to specific tasks or users. You must create an ACL with at least one privilege, so lets start with the ‘connect’ privilege for user ASSA, (also a role can be added as principal):
    begin
    dbms_network_acl_admin.create_acl (
    acl => 'utl_mail.xml',
    description => 'Allow mail to be send',
    principal => 'ASSA',
    is_grant => TRUE,
    privilege => 'connect'
    commit;
    end;
    Add Privilege
    Great, now that the ACL is created, you can add more privileges like the ‘resolve’ privilege:
    begin
    dbms_network_acl_admin.add_privilege (
    acl => 'utl_mail.xml',
    principal => 'ASSA',
    is_grant => TRUE,
    privilege => 'resolve'
    commit;
    end;
    Assign ACL
    Cool, you granted ASSA to connect and resolve, but you have not defined to which resources he is allowed to connect:
    begin
    dbms_network_acl_admin.assign_acl(
    acl => 'utl_mail.xml',
    host => '192.160.170.10'
    commit;
    end;
    I configured utl_mail in other computer at the first time, in virtual machine, in a server, with windows server 2000 and it's working without problems.
    The problem is in this computer, with windows xp. I can`t send emails despite configuring UTL_MAIL.
    Danny Lima
    Ecuador

    Dear UDO
    i dont think that the code is bad, i have the same code in my virtual machine in PC server with Windows server 2003 and that's works.
    In my pc Server:
    create or replace TRIGGER "AUTO"
    after insert on qr
    for each row
    declare
    /* auto_Nivel Variable que tomará el campo nivel del Empleado que Administre el Reclamo*/
    auto_nivel number;
    /*auto_mail_e y auto_mail_s Variable que tomará el campo del correo del Empleado que Administre el Reclamo y de
    su superior respectivamente*/
    auto_mail_e varchar2(30);
    auto_mail_s varchar(30);
    /*auto_responsable variable que tomará el campo cedula_empleado de la tabla QR*/
    auto_responsable varchar2(30):=:new.cedula_empleado;
    /*auto_n_empleado variable que tomará el nombre y apellido del empleado que Administre el Reclamo*/
    auto_n_empleado varchar2(60);
    /*auto_n_cliente variable que tomará el nombre y apellido del Cliente que solicitó la hoja de servicio*/
    auto_n_cliente varchar2(60);
    /*auto_CRM variable que tomará el correo electrónico de CRM*/
    auto_CRM varchar2(30);
    /*a variable que almacenará correo electrónicos*/
    a varchar2(120);
    /*a variable que almacenará el ID del empleado causante del reclamo*/
    auto_causante varchar2(30):=:new.empleado_causante;
    /*a variable que almacenará el correo electrónico del empleado causante del reclamo*/
    auto_causante_mail varchar2(30);
    /*ori_aux variable que almacenará el origen perteneciente a talleres, cuya recepción de Reclamos tiene
    una condición especial*/
    ori_aux number;
    ori number:=:new.origen;
    begin
    select c.nombre||' '||c.apellido into auto_n_cliente
    from cliente c where c.id=:new.cedula_cliente;
    IF :new.QUEJA_RECLAMO='QUEJA' THEN
    select e.email into auto_crm
    from empleados e where e.perfil='CRM';
    utl_mail.send(sender => '[email protected]',
    recipients => auto_crm,
    subject => 'DATASIERRA PQR-CRM',
    message => 'DATASIERRA PQR-CRM'||CHR(10)||'Reclamo '||:new.ss||CHR(10)||:new.cedula_empleado||CHR(10)||auto_n_empleado||CHR(10)||''||CHR(10)||auto_n_cliente||' Numero de Cedula: '||:new.cedula_cliente||' queja por: '||CHR(10)||''||CHR(10)||:new.descripcion||CHR(10)||''||CHR(10)||SYSDATE);
    ELSE
    Select e.nivel into auto_nivel
    from empleados e where e.id=auto_responsable;
    select e.nombre||' '||e.apellido into auto_n_empleado
    from empleados e where e.id=auto_responsable;
    SELECT O.ORIGEN_MAYOR INTO ORI_AUX
    FROM ORIGEN O WHERE :NEW.ORIGEN=O.ID;
    /*Inserción de Datos en la tabla Seguimiento*/
    insert into seguimiento
    (id_ss,fecha_seguimiento,escalado_a,estado)
    values
    (:new.ss,:new.fecha,auto_responsable,'CASO ABIERTO');
    /*Proceso si el Origen del reclamo pertenece a Talleres*/
    if ori_aux=22 THEN
    select e.email into auto_causante_mail
    from empleados e where e.id=auto_causante;
    select e.email into auto_crm
    from empleados e where e.perfil='CRM';
    a:=auto_causante_mail||',[email protected],'||auto_crm;
    /*Proceso de Envío de Correo a los destinatarios almacenados en la variable a*/
    utl_mail.send(sender => '[email protected]',
    recipients => a,
    subject => 'DATASIERRA PQR-CRM',
    message => 'DATASIERRA PQR-CRM'||CHR(10)||'Reclamo '||:new.ss||CHR(10)||:new.empleado_causante||CHR(10)||''||CHR(10)||auto_n_cliente||' Numero de Cedula: '||:new.cedula_cliente||' reclamo por: '||CHR(10)||''||CHR(10)||:new.descripcion||CHR(10)||''||CHR(10)||SYSDATE);
    select e.email into auto_mail_e
    from empleados e where e.id=auto_responsable;
    a:=auto_mail_e;
    utl_mail.send(sender => '[email protected]',
    recipients => a,
    subject => 'DATASIERRA PQR-CRM',
    message => 'DATASIERRA PQR-CRM'||CHR(10)||'Reclamo '||:new.ss||CHR(10)||auto_n_cliente||' Numero de Cedula: '||:new.cedula_cliente||' reclamo por: '||CHR(10)||''||CHR(10)||:new.descripcion||CHR(10)||''||CHR(10)||SYSDATE);
    if ori=2 then
    utl_mail.send(sender => '[email protected]',
    recipients => '[email protected],[email protected],[email protected]',
    subject => 'DATASIERRA PQR-CRM',
    message => 'DATASIERRA PQR-CRM'||CHR(10)||'Reclamo '||:new.ss||CHR(10)||:new.empleado_causante||CHR(10)||''||CHR(10)||auto_n_cliente||' Numero de Cedula: '||:new.cedula_cliente||' reclamo por: '||CHR(10)||''||CHR(10)||:new.descripcion||CHR(10)||''||CHR(10)||SYSDATE);
    end if;
    else
    /*Proceso si empleado que administrará el reclamo es de nivel diferente de 1*/
    if auto_nivel <> 1 then
    /*Asignacióna del correo del Empleado que Administre el Reclamo y de su superior respectivamente
    a las variables auto_mail_e y auto_mail_s también respectivamente*/
    select e.email, x.email into auto_mail_e, auto_mail_s
    from empleados e, empleados x
    where e.id=auto_responsable and e.dependencia=x.id;
    /*Asignación de los correos Empleado que Administre el Reclamo, de su superior
    y de [email protected] respectivamente*/
    a:=auto_mail_e||','||auto_mail_s||',[email protected]';
    /*Proceso de Envío de Correo a los destinatarios almacenados en la variable a*/
    utl_mail.send(sender => '[email protected]',
    recipients => a,
    subject => 'DATASIERRA PQR-CRM',
    message => 'DATASIERRA PQR-CRM'||CHR(10)||'Reclamo '||:new.ss||CHR(10)||:new.cedula_empleado||CHR(10)||auto_n_empleado||CHR(10)||''||CHR(10)||auto_n_cliente||' Numero de Cedula: '||:new.cedula_cliente||' reclamo por: '||CHR(10)||''||CHR(10)||:new.descripcion||CHR(10)||''||CHR(10)||SYSDATE);
    else
    /*Proceso si empleado que administrará el reclamo es de nivel 1*/
    /*Asignación del correo del empleado que administrará el reclamo*/
    select e.email into auto_mail_e
    from empleados e where e.id=auto_responsable;
    /*Proceso de Envío de Correo a los destinatarios almacenados en la variable a*/
    a:=auto_mail_e||',[email protected]';
    utl_mail.send(sender => '[email protected]',
    recipients => a,
    subject => 'DATASIERRA PQR-CRM',
    message => 'DATASIERRA PQR-CRM'||CHR(10)||'Reclamo '||:new.ss||CHR(10)||:new.cedula_empleado||CHR(10)||auto_n_empleado||CHR(10)||''||CHR(10)||auto_n_cliente||' Numero de Cedula: '||:new.cedula_cliente||' reclamo por: '||CHR(10)||''||CHR(10)||:new.descripcion||CHR(10)||''||CHR(10)||SYSDATE);
    end if;
    end if;
    end if;
    end auto;
    I can send emails with this code without problems
    , but just in my virtual machine.
    I compare the code that is in my pc with Windows xp where I have the problem and its the same code, but that code doesn`t work and I get
    problems when I send the email.
    In my pc with windows XP
    create or replace trigger "AUTO"
    after insert on qr
    for each row
    declare
    /* auto_Nivel Variable que tomará el campo nivel del Empleado que Administre el Reclamo*/
    auto_nivel number;
    /*auto_mail_e y auto_mail_s Variable que tomará el campo del correo del Empleado que Administre el Reclamo y de
    su superior respectivamente*/
    auto_mail_e varchar2(30);
    auto_mail_s varchar(30);
    /*auto_responsable variable que tomará el campo cedula_empleado de la tabla QR*/
    auto_responsable varchar2(30):=:new.cedula_empleado;
    /*auto_n_empleado variable que tomará el nombre y apellido del empleado que Administre el Reclamo*/
    auto_n_empleado varchar2(60);
    /*auto_n_cliente variable que tomará el nombre y apellido del Cliente que solicitó la hoja de servicio*/
    auto_n_cliente varchar2(60);
    /*auto_CRM variable que tomará el correo electrónico de CRM*/
    auto_CRM varchar2(40);
    /*a variable que almacenará correo electrónicos*/
    a varchar2(120);
    /*a variable que almacenará el ID del empleado causante del reclamo*/
    auto_causante varchar2(30):=:new.empleado_causante;
    /*a variable que almacenará el correo electrónico del empleado causante del reclamo*/
    auto_causante_mail varchar2(40);
    /*ori_aux variable que almacenará el origen perteneciente a talleres, cuya recepción de Reclamos tiene
    una condición especial*/
    ori_aux number;
    ori number:=:new.origen;
    begin
    select c.nombre||' '||c.apellido into auto_n_cliente
    from cliente c where c.id=:new.cedula_cliente;
    IF :new.QUEJA_RECLAMO='QUEJA' THEN
    select e.email into auto_crm
    from empleados e where e.perfil='CRM';
    utl_mail.send(sender => '[email protected]',
    recipients => auto_crm,
    subject => 'DATASIERRA PQR-CRM',
    message => 'DATASIERRA PQR-CRM'||CHR(10)||'Reclamo '||:new.ss||CHR(10)||:new.cedula_empleado||CHR(10)||auto_n_empleado||CHR(10)||''||CHR(10)||auto_n_cliente||' Numero de Cedula: '||:new.cedula_cliente||' queja por: '||CHR(10)||''||CHR(10)||:new.descripcion||CHR(10)||''||CHR(10)||SYSDATE);
    ELSE
    Select e.nivel into auto_nivel
    from empleados e where e.id=auto_responsable;
    select e.nombre||' '||e.apellido into auto_n_empleado
    from empleados e where e.id=auto_responsable;
    SELECT O.ORIGEN_MAYOR INTO ORI_AUX
    FROM ORIGEN O WHERE :NEW.ORIGEN=O.ID;
    /*Inserción de Datos en la tabla Seguimiento*/
    insert into seguimiento
    (id_ss,fecha_seguimiento,escalado_a,estado)
    values
    (:new.ss,:new.fecha,auto_responsable,'CASO ABIERTO');
    /*Proceso si el Origen del reclamo pertenece a Talleres*/
    if ori_aux=22 THEN
    select e.email into auto_causante_mail
    from empleados e where e.id=auto_causante;
    select e.email into auto_crm
    from empleados e where e.perfil='CRM';
    a:=auto_causante_mail||',[email protected],'||auto_crm;
    /*Proceso de Envío de Correo a los destinatarios almacenados en la variable a*/
    utl_mail.send(sender => '[email protected]',
    recipients => a,
    subject => 'DATASIERRA PQR-CRM',
    message => 'DATASIERRA PQR-CRM'||CHR(10)||'Reclamo '||:new.ss||CHR(10)||:new.empleado_causante||CHR(10)||''||CHR(10)||auto_n_cliente||' Numero de Cedula: '||:new.cedula_cliente||' reclamo por: '||CHR(10)||''||CHR(10)||:new.descripcion||CHR(10)||''||CHR(10)||SYSDATE);
    select e.email into auto_mail_e
    from empleados e where e.id=auto_responsable;
    a:=auto_mail_e;
    utl_mail.send(sender => '[email protected]',
    recipients => a,
    subject => 'DATASIERRA PQR-CRM',
    message => 'DATASIERRA PQR-CRM'||CHR(10)||'Reclamo '||:new.ss||CHR(10)||auto_n_cliente||' Numero de Cedula: '||:new.cedula_cliente||' reclamo por: '||CHR(10)||''||CHR(10)||:new.descripcion||CHR(10)||''||CHR(10)||SYSDATE);
    if ori=2 then
    utl_mail.send(sender => '[email protected]',
    recipients => '[email protected],[email protected],[email protected]',
    subject => 'DATASIERRA PQR-CRM',
    message => 'DATASIERRA PQR-CRM'||CHR(10)||'Reclamo '||:new.ss||CHR(10)||:new.empleado_causante||CHR(10)||''||CHR(10)||auto_n_cliente||' Numero de Cedula: '||:new.cedula_cliente||' reclamo por: '||CHR(10)||''||CHR(10)||:new.descripcion||CHR(10)||''||CHR(10)||SYSDATE);
    end if;
    else
    /*Proceso si empleado que administrará el reclamo es de nivel diferente de 1*/
    if auto_nivel <> 1 then
    /*Asignacióna del correo del Empleado que Administre el Reclamo y de su superior respectivamente
    a las variables auto_mail_e y auto_mail_s también respectivamente*/
    select e.email, x.email into auto_mail_e, auto_mail_s
    from empleados e, empleados x
    where e.id=auto_responsable and e.dependencia=x.id;
    /*Asignación de los correos Empleado que Administre el Reclamo, de su superior
    y de [email protected] respectivamente*/
    a:=auto_mail_e||','||auto_mail_s||',[email protected]';
    /*Proceso de Envío de Correo a los destinatarios almacenados en la variable a*/
    utl_mail.send(sender => '[email protected]',
    recipients => a,
    subject => 'DATASIERRA PQR-CRM',
    message => 'DATASIERRA PQR-CRM'||CHR(10)||'Reclamo '||:new.ss||CHR(10)||:new.cedula_empleado||CHR(10)||auto_n_empleado||CHR(10)||''||CHR(10)||auto_n_cliente||' Numero de Cedula: '||:new.cedula_cliente||' reclamo por: '||CHR(10)||''||CHR(10)||:new.descripcion||CHR(10)||''||CHR(10)||SYSDATE);
    else
    /*Proceso si empleado que administrará el reclamo es de nivel 1*/
    /*Asignación del correo del empleado que administrará el reclamo*/
    select e.email into auto_mail_e
    from empleados e where e.id=auto_responsable;
    /*Proceso de Envío de Correo a los destinatarios almacenados en la variable a*/
    a:=auto_mail_e||',[email protected]';
    utl_mail.send(sender => '[email protected]',
    recipients => a,
    subject => 'DATASIERRA PQR-CRM',
    message => 'DATASIERRA PQR-CRM'||CHR(10)||'Reclamo '||:new.ss||CHR(10)||:new.cedula_empleado||CHR(10)||auto_n_empleado||CHR(10)||''||CHR(10)||auto_n_cliente||' Numero de Cedula: '||:new.cedula_cliente||' reclamo por: '||CHR(10)||''||CHR(10)||:new.descripcion||CHR(10)||''||CHR(10)||SYSDATE);
    end if;
    end if;
    end if;
    end auto;
    Both of them are the same, I dont know what happen.!

  • Ora-29279: SMTP permanent error Unbalanced ' '

    Dear Sirs
    Sorry for my bad english; I have a problem when I send email in Oracle Express Aplication Release 11.2.0.2.0, I get this mistake ora-29279: SMTP permanent error <[email protected].. Unbalanced '>' and I don`t know what happen. I configure UTL_MAIL in this way:
    [host@oracle]$ cd $ORACLE_HOME/rdbms/admin
    [host@oracle]$sqlplus / as sysdba
    SQL> @utlmail
    SQL> @utlsmtp
    SQL> @prvtmail.plb
    SQL> GRANT EXECUTE ON utl_mail TO PUBLIC;
    SQL> GRANT EXECUTE ON utl_smtp TO PUBLIC;
    SQL> alter system set smtp_out_server='192.168.170.10' scope=both;
    ACL: Access Control List
    in White Horses Blog
    Create ACL and privileges
    Now first create an ACL as SYS (or any other user with DBMS_NETWORK_ACL_ADMIN execute granted), this will hold the privileges. You can add as many privileges as you like to this file, but I would recommend to split privileges in the ACL to specific tasks or users. You must create an ACL with at least one privilege, so lets start with the ‘connect’ privilege for user ASSA, (also a role can be added as principal):
    begin
    dbms_network_acl_admin.create_acl (
    acl => 'utl_mail.xml',
    description => 'Allow mail to be send',
    principal => 'ASSA',
    is_grant => TRUE,
    privilege => 'connect'
    commit;
    end;
    Add Privilege
    Great, now that the ACL is created, you can add more privileges like the ‘resolve’ privilege:
    begin
    dbms_network_acl_admin.add_privilege (
    acl => 'utl_mail.xml',
    principal => 'ASSA',
    is_grant => TRUE,
    privilege => 'resolve'
    commit;
    end;
    Assign ACL
    Cool, you granted ASSA to connect and resolve, but you have not defined to which resources he is allowed to connect:
    begin
    dbms_network_acl_admin.assign_acl(
    acl => 'utl_mail.xml',
    host => '192.160.170.10'
    commit;
    end;
    I configured utl_mail in other computer at the first time, in virtual machine, in a server, with windows server 2000 and it's working without problems.
    The problem is in this computer, with windows xp. I can`t send emails despite configuring UTL_MAIL.
    Danny Lima
    Ecuador

    It is a mail server error, telling you it does not like the data your code is passing to it. Nothing to do with Oracle, ACLs or configuration settings.
    Everything to do with your code passing incorrectly formatted data to the mail server - and the mail server throwing an error back at your code.

  • ORA-29279: SMTP permanent error: 553

    Hi,
    This what i do in SQL Plus and receive an error. What i do wrong?
    Thanks
    SQL> connect system/oracle as sysdba;
    Connected.
    SQL> $ORACLE_HOME/javavm/install/initjvm.sql;
    SQL> $ORACLE_HOME/javavm/install/init_jis.sql;
    SQL> $ORACLE_HOME/rdbms/admin/initplsj.sql;
    SQL> CREATE OR REPLACE PROCEDURE SEND_MAIL (msg_to varchar2, msg_subject varchar2, msg_text varchar2
    2 IS
    3 c utl_smtp.connection;
    4 rc integer;
    5 msg_from varchar2(50) := '[email protected]';
    6 mailhost VARCHAR2(30) := 'authsmtp.streamline.net'; -- local database host
    7
    8 BEGIN
    9 c := utl_smtp.open_connection(mailhost, 25); -- SMTP on port 25
    10 utl_smtp.helo(c, mailhost);
    11 utl_smtp.mail(c, msg_from);
    12 utl_smtp.rcpt(c, msg_to);
    13
    14 utl_smtp.data(c,'From: Oracle Database' || utl_tcp.crlf ||
    15 'To: ' || msg_to || utl_tcp.crlf ||
    16 'Subject: ' || msg_subject ||
    17 utl_tcp.crlf || msg_text);
    18
    19 utl_smtp.quit(c);
    20
    21 END;
    22 /
    Procedure created.
    SQL> EXEC SEND_MAIL ('[email protected]', 'Hello from Oracle', 'This is a message');
    BEGIN SEND_MAIL ('[email protected]', 'Hello from Oracle', 'This is a message'); END;
    ERROR at line 1:
    ORA-29279: SMTP permanent error: 553 sorry, that domain isn't in my list of
    allowed rcpthosts (#5.7.1)
    ORA-06512: at "SYS.UTL_SMTP", line 21
    ORA-06512: at "SYS.UTL_SMTP", line 99
    ORA-06512: at "SYS.UTL_SMTP", line 241
    ORA-06512: at "SYS.SEND_MAIL", line 12
    ORA-06512: at line 1
    SQL>

    You aren't doing anything wrong, that's a message from your mail server saying you're doing something against its rules. Talk to your network people and have them add you to the list of domains that are allowed rcpthosts.
    From: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:255615160805

  • ORA-29279: SMTP permanent error: 503 Issue MAIL FROM: command before RCPT T

    Hi all, i have a procedure called proc_send_mail, the procedure obviously, send a mail using utl_smpt. I use that procedure in many clients and just in one of them, i got this error (ORA-29279: SMTP permanent error: 503 Issue MAIL FROM: command before RCPT T).
    Here is my code:
    recStat := utl_smtp.helo(c, vServidor);
    vStatus := nvl(vStatus,'') || to_char(recStat.code) ||' '|| recStat.text;
    dbms_output.put_line('Status:'||vStatus);
    recStat := utl_smtp.mail(c, p_address_from);
    vStatus := nvl(vStatus,'') || to_char(recStat.code) ||' '|| recStat.text;
    dbms_output.put_line('Status3:'||vStatus);
    dbms_output.put_line('p_address_from:'||p_address_from);
    dbms_output.put_line('p_address_to:'||p_address_to);
    utl_smtp.rcpt(c, p_address_to);
    vStatus := nvl(vStatus,'') || to_char(recStat.code) ||' '|| recStat.text;
    dbms_output.put_line('Status2:'||vStatus);
    -- This is the message
    vMensagem := 'MIME-Version: 1.0' || chr(13) || chr(10);
    vMensagem := vMensagem ||'From: '|| p_mail_from ||' <'|| p_address_from ||'>'|| chr(13) || chr(10);
    vMensagem := vMensagem ||'Subject: '|| p_subject || chr(13) || chr(10);
    vMensagem := vMensagem ||'To: '|| p_mail_to ||' <'|| p_address_to ||'>'|| chr(13) || chr(10);
    vMensagem := vMensagem ||'Reply-To: '|| p_address_from || chr(13) || chr(10);
    So, i call:
    - utl_smtp.helo
    - utl_smtp.mail
    - utl_smtp.rcpt -----> in this i have trouble
    anyone can help me? I check the mail from and mail to, and they are correct.
    P.S: Sorry, my english is too bad.

    Hi,
    Many mail server provides like gmail use TLS/SSL for mail transmission. The error suggest your mail server is expecting a TLS/SSL connection.
    The TLS/SSL connection is not part of the UTL_SMTP and UTL_MAIL API. You have to either use Wallet as described here http://oracleblues.blogspot.in/2010/09/11g-release-2-11202-new-utlsmtp.html or use a third party tunneler like stunnel as described here http://monkeyonoracle.blogspot.in/2009/11/plsql-and-gmail-or-utlsmtp-with-ssl.html
    Cheers,

  • ORA-29279: SMTP permanent error: 500 5.3.3 Unrecognized command

    Dear All,
    I'm trying to send mail WTH of below given proc, but I got ORA-29279: SMTP permanent error: 500 5.3.3 Unrecognized command error, however I'm able to send mails WTH of a java program for the same mailhost
    CREATE OR REPLACE PROCEDURE Send_Mail_Test
    AS
       l_mailhost    VARCHAR2 (64)       := 'smtp.gmail.com';
       l_from        VARCHAR2 (64)       := '[email protected]';
       l_to          VARCHAR2 (64)       := '[email protected]';
       l_mail_conn   UTL_SMTP.connection;
    BEGIN
    --   l_mail_conn := UTL_SMTP.open_connection (l_mailhost, 25);--(l_mailhost, 465);
       l_mail_conn := UTL_SMTP.open_connection (l_mailhost, 587);
       UTL_SMTP.helo (l_mail_conn, l_mailhost);
    -- For Authenication
       utl_smtp.command(l_mail_conn,'STARTTLS');
       UTL_SMTP.command (l_mail_conn, 'AUTH LOGIN');
       utl_smtp.command(l_mail_conn, utl_encode.base64_encode(utl_raw.cast_to_raw('[email protected]')));
       utl_smtp.command(l_mail_conn, utl_encode.base64_encode(utl_raw.cast_to_raw('mypassword')));
       UTL_SMTP.mail (l_mail_conn, l_from);
       UTL_SMTP.rcpt (l_mail_conn, l_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: ' || l_from || UTL_TCP.crlf);
       UTL_SMTP.write_data (l_mail_conn, 'Subject: ' || 'test' || UTL_TCP.crlf);
       UTL_SMTP.write_data (l_mail_conn, 'To: ' || l_to || UTL_TCP.crlf);
       UTL_SMTP.write_data(l_mail_conn, utl_tcp.CRLF);
       UTL_SMTP.write_data (l_mail_conn, 'test');
       UTL_SMTP.close_data (l_mail_conn);
       UTL_SMTP.quit (l_mail_conn);
    END Send_Mail_Test;
    /Pls suggest
    Thanks
    *009*

    009 wrote:
    I'm trying to send mail WTH of below given proc, but I got ORA-29279: SMTP permanent error: 500 5.3.3 Unrecognized command error, however I'm able to send mails WTH of a java program for the same mailhostNot an Oracle error. Irrelevant what the Java code do as you could be doing something different using UTL_SMTP, you could be running it from a different IP address, etc. Also the message seem to be very clear that you are sending an invalid SMTP command to the server.
    If UTL_SMTP fails with a SMTP error, it means that the mail server itself reported an error. Thus this is not an Oracle error, a problem with the database, etc.
    What it typically is, is:
    a) the client code incorrectly conversing SMTP (and not sticking to the correct SMTP commands and sequence)
    b) the client requesting the SMTP server something that is not supported (like relaying mail)
    In all cases, the easiest method to troubleshoot this is not to use PL/SQL and UTL_SMTP at all, but to interactively converse with the mail server from the Oracle database server
    1) ssh or telnet or open a command/shell console on the Oracle server
    2) using telnet, connect to the mail server (e.g. telnet mail-server.abc.com 25 )
    3) repeat the same command sequence as your PL/SQL code does (these should be typically the HELO, MAIL FROM, RCPT TO, DATA and QUIT command in this sequence)
    If you like to know more about the SMTP protocol, read [RFC 821 - Simple Transfer Mail Protocol|http://www.faqs.org/rfcs/rfc821.html] - this is the official specification for the protocol. Also read RFC 2554 ( SMTP Service Extension for Authentication ) in case your mail server supports authentication extensions.

Maybe you are looking for