Skip to main content

Solucionar error envio mail Gx C#

Error

2023-03-16 11:37:21,764 [1] DEBUG GeneXus.Mail.SMTPMailClient - Connecting to host: smtp.office365.com, port: 587
2023-03-16 11:37:23,500 [1] ERROR GeneXus.Mail.SMTPMailClient - SMTPConnection check failed
System.IO.IOException: No se puede escribir datos de en la conexión de transporte: net_io_connectionclosed.
en System.Net.Mail.SmtpReplyReaderFactory.ProcessRead(Byte[] buffer, Int32 offset, Int32 read, Boolean readLine)
en System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader caller, Boolean oneLine)
en System.Net.Mail.SmtpReplyReaderFactory.ReadLine(SmtpReplyReader caller)
en System.Net.Mail.CheckCommand.Send(SmtpConnection conn, String& response)
en System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, MailAddress from, Boolean allowUnicode)
2023-03-16 11:37:23,512 [1] ERROR GeneXus.Mail.GXMailSession - No se puede escribir datos de en la conexión de transporte: net_io_connectionclosed.
GeneXus.Mail.GXMailException: No se puede escribir datos de en la conexión de transporte: net_io_connectionclosed.
en GeneXus.Mail.Smtp.SmtpHelper.ValidateConnection(SmtpClient smtp, String senderAddress, Boolean checkUnicodeSupport)
en GeneXus.Mail.SMTPMailClient.Login(GXSMTPSession session)
en GeneXus.Mail.GXSMTPSession.Login()

Solucion

Es posible que sea un problema de tls. Prueba con Tls1.2. Intenta añadir esto a tu codigo:

csharp try {
csharp System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12 | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls;

CODIGO

csharp } catch (Exception e) {
csharp [!&Excepcion!] = e.ToString();
grabarLog.Call(&Pgmname,'EXCEPCION: ' + &Excepcion.Trim(),NivelLog.Fatal)
csharp }