Mailtrap

Este debate contiene 9 respuestas, tiene 2 mensajes y lo actualizó  Laura Nicolàs hace 10 meses.

Viendo 10 publicaciones - del 1 al 10 (de un total de 10)
  • Autor
    Publicaciones
  • #8311

    Imak
    Participante

    Hola Cristina/Laura

    No consigo ver en la bandeja de entrada de mailtrap ningún mail de los enviados desde el desarrollo realizado en el video 6 – enviar correos a un smtp de pruebas.

    He seguido paso a paso el desarrollo del ejemplo, he reproducido el error inicial al ejecutar la función de test correspondiente al envío del mail. Tras registrarme en mailtrap y pasar la configuración sugerida a navision he vuelto a realizar el test correspondiente, esta vez sin errores. El problema es que no veo ningún correo en la bandeja de entrada de mailtrap.

    El proceso es tan sencillo que no puedo ver qué me he dejado en el camino para que no reciba nada en la bandeja de entrada de mailtrap.

    ¿Alguna idea?

     

    Gracias y un saludo

    #8313

    Laura Nicolàs
    Jefe de claves

    hola Imak,

    Puedes postear el código para que le eche un vistazo?

    Salut!
    Laura Nicolàs

    ¿Quieres conocer las últimas novedades sobre Business Central? Dynamics ScaleUp 2019.

    Consulta fechas en
    DynamicsScaleUp.com

    #8314

    Imak
    Participante

    Hola Laura,

    Por abreviar sólo te voy a poner las funciones que intervienen en el envío del email ya que todas las funciones del test, incluida la del mail, funcionan bien. He vuelto a realizar una prueba antes de escribir este post revisando la configuración smtp en navision indicada por mailtrap.

    codeunit 50151 «ImIns Test Management»
    {
    Subtype = Test;

    [Test]
    procedure InsuranceEmail();
    var
    Insurance: Record Insurance;
    InsuranceEmailMgt: Codeunit «ImIns InsuranceEmailMgt» ;
    begin
    // [Scenario]

    // [Given] Setup:
    Insurance.FindFirst();
    Insurance.»ImIns Alert» := true;
    Insurance.Modify();
    // [When] Sending an email
    InsuranceEmailMgt.Run();
    // [Then] Verify:
    //ExpectedValue := ‘Expected_Value’;
    //ActualValue := ‘Actual_Value’;
    //IfErrorTxt := ‘This_Text_Will_Be_Shown_If_The_Test_Fails’;
    //AssertThat.AreEqual(ExpectedValue, ActualValue, IfErrorTxt);
    end;
    var
    AssertThat: Codeunit Assert;
    ExpectedValue: Variant;
    ActualValue: Variant;
    IfErrorTxt : Text;
    }
    codeunit 50150 «ImIns InsuranceEmailMgt»
    {
    trigger OnRun();
    begin
    CheckAndSendInsuranceEmailsAndNotifications();
    end;

    local procedure CheckAndSendInsuranceEmailsAndNotifications()
    var
    Insurance : Record Insurance;
    begin
    Insurance.SetRange(«ImIns Alert»,true);
    if Insurance.FindSet() then
    repeat
    // Comprobar si hay que mandar email
    //CheckEmailNotificationRequired();
    // Mandarlo a tantos usuarios como sea preciso
    SendInsuranceEmailNotification(Insurance);
    until Insurance.Next() = 0;
    end;
    local procedure SendInsuranceEmailNotification(Insurance: Record Insurance);
    var
    SMTPMail: Codeunit «SMTP Mail»;
    SenderName : text;
    SenderAddress : text;
    Subject : text;
    Body: Text;
    Recipients: text;
    HTMLFormatted : Boolean;
    begin
    SenderName := ‘yo’;
    SenderAddress := ‘yo@miempresa.com’;
    Recipients := ‘tu@tuempresa.com’;
    Subject := ‘Alerta vencimiento seguro’;
    Body := ‘Cuerpo’;
    HTMLFormatted := true;
    SMTPMail.CreateMessage(
    SenderName,
    SenderAddress,
    Recipients,
    Subject,
    Body,
    HTMLFormatted
    )
    end;
    }

    Un saludo

    #8316

    Laura Nicolàs
    Jefe de claves

    Imak,

    El prodecimiento SmtpMail.CreateMessage() crea el mensaje, pero no lo envía.
    Después tienes que llamar a SmtpMail.Send().

    Salut!
    Laura Nicolàs

    ¿Quieres conocer las últimas novedades sobre Business Central? Dynamics ScaleUp 2019.

    Consulta fechas en
    DynamicsScaleUp.com

    #8323

    Imak
    Participante

    Gracias Laura por tu rápida respuesta,

    fallo mío al copiar/pegar el código.
    Tengo la llamada al método SmtpMail.Send() tras la creación del mensaje.
    Por probar algo nuevo antes de volver a escribirte, he cambiado los puertos en la configuración smtp de nav probando con las tres opciones que me ofrece mailtrap (25 o 2525 o 465), pero sigo sin recibir nada en la bandeja de entrada de mailtrap cada vez que ejecuto el test.

    Un saludo

    #8330

    Laura Nicolàs
    Jefe de claves

    Hola,

    Lo acabo de probar y sí he recibido el correo en mi bandeja de mailtrap.

    Has probado a debugar?
    Es posible que no se ejecute nunca la función SendInsuranceEmailNotification porque no encuentre seguros, o no hay seguros que cumplan con los filtros?
    La mejor forma de encontrar el problema es con el debugger en marcha, e ir viendo por donde pasa el código y qué valor tienen las variables.

    Salut!
    Laura Nicolàs

    ¿Quieres conocer las últimas novedades sobre Business Central? Dynamics ScaleUp 2019.

    Consulta fechas en
    DynamicsScaleUp.com

    #8333

    Imak
    Participante

    Lo acabo de hacer, pero no veo nada anormal.

    Hasta el momento el único filtro a superar es que encuentre un seguro con la alerta activa. Esto lo supera ya que pasa por las funciones de creación del correo y de envío del mismo una única vez.

    He puesto en inspección los parámetros que utiliza en último término la función Mail.send, y se corresponden con los valores indicados por mailtrap y establecidos en la configuración smtp de NAV.
    Además la función retorna », que se supone que es lo que debe hacer cuando todo va bien…pero nada de ver el correo en la bandeja de entrada de mailtrap.

    Saludos

    #8341

    Laura Nicolàs
    Jefe de claves

    Si se ejecuta el Send sin errores… es posible que en el servidor donde estás trabajando haya un firewall o alguna cosa que no deje salir el mensaje?

    Salut!
    Laura Nicolàs

    ¿Quieres conocer las últimas novedades sobre Business Central? Dynamics ScaleUp 2019.

    Consulta fechas en
    DynamicsScaleUp.com

    #8345

    Imak
    Participante

    Hola Laura,

    tenías razón, al desactivar la protección del antivirus, todo ha funcionado perfectamente.
    Tendré que incluir alguna directiva para que permita que funcione, pero eso es otra guerra.

    Gracias y un saludo

    #8346

    Laura Nicolàs
    Jefe de claves

    Que bien! Me alegro que al final lo haya sacado.

    Salut!
    Laura Nicolàs

    ¿Quieres conocer las últimas novedades sobre Business Central? Dynamics ScaleUp 2019.

    Consulta fechas en
    DynamicsScaleUp.com

Viendo 10 publicaciones - del 1 al 10 (de un total de 10)

Debes estar registrado para responder a este debate.

Members Currently Active: 2
ACUSTICA, STR
Keymaster | Moderator | Participant | Spectator | Blocked
Additional Forum Statistics
Threads: 1.028, Posts: 3.244, Members: 994
Welcome to our newest member, i.alonso.martinez
Most users ever online was 15 on 5 April, 2019 9:31 am