- Este debate tiene 9 respuestas, 2 mensajes y ha sido actualizado por última vez el hace 5 años, 1 mes por Laura Nicolàs.
Mailtrap
-
ImakParticipanteImakHola 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
5 febrero 2019 a las 18:53 #8311
Laura NicolàsSuperadministrador6 febrero 2019 a las 09:34 #8313
ImakParticipanteImakHola 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
6 febrero 2019 a las 10:31 #8314
Laura NicolàsSuperadministrador6 febrero 2019 a las 11:02 #8316
ImakParticipanteImakGracias 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
6 febrero 2019 a las 11:22 #8323
Laura NicolàsSuperadministradorLaura NicolàsHola,
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às6 febrero 2019 a las 11:51 #8330
ImakParticipanteImakLo 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
6 febrero 2019 a las 12:51 #8333
Laura NicolàsSuperadministrador6 febrero 2019 a las 16:04 #8341
Laura NicolàsSuperadministrador7 febrero 2019 a las 10:58 #8346
Debe iniciar sesión para responder a este tema.