Hola,

hay alguna manera de hacer un envio desde Axapta 3 via SMTP externo, por ejemplo, smtp de gmail/hotmail?

Lo estoy intentando con esta función pero siempre me da error de timeout en la conexión:

Static void enviarMail(str MailServerTo,             // Para Quien
                       str Subject,                  // Asunto
                       str body,                     // Contenido HTML
                       str ServerMailFrom,           // Cuenta del que envia
                       fileName fileName = '',                 // archivo adjunto
                       str MailServerCC='')
{
    SysEmailParameters _sysEmailParameters;
    SysMailer mailer;
    ;
    mailer = new SysMailer();
    _sysEmailParameters = SysEmailParameters::find();
    mailer.SMTPRelayServers().add(_sysEmailParameters.SMTPRelayServerName,_sysEmailParameters.SMTPPortNumber,_sysEmailParameters.SMTPServerIPAddress,_sysEmailParameters.SMTPUserName,_sysEmailParameters.SMTPPassword);
    mailer.fromAddress(ServerMailFrom);
    mailer.subject(subject);
    if (MailServerCC)
        mailer.bccs().add(MailServerCC);


    mailer.htmlBody(body);
    if (fileName)       
        mailer.attachments().add(fileName);
    mailer.sendMail();

}

Los parámetros de correo electrónico son los siguientes:

Servidor y dirección smtp: smtp.live.com
Puerto: 25

Alguna ayuda?

Visitas: 79

Responde a esto

Respuestas a esta discusión

Jose Luis, este codigo fue probado por el autor en ax2009, veo mucha similitud, veo solo cambio de estructura. y la diferencia que veo es el uso de la funcion tipo estatica server.

Yo necesito algo de esto, y una vez termine una tarea de corregir el funcionamiento de el modulo de planeación seguire con este tema, para pago de proveedores y ordenes de compra.

http://arcasoft.blogspot.com/search/label/Dynamics%20AX%202009

static server void SendMailServer(Args _args)
{

SysMailer mailer;
SysEmailParameters mailParms;
;

mailer = new SysMailer();
mailParms = SysEmailParameters::find();


mailer.SMTPRelayServer(mailParms.SMTPRelayServerName,mailParms.SMTPPortNumber,mailParms.SMTPUserName,SysEmailParameters::password(),false);
mailer.priority(1);
mailer.fromAddress('noreply@miemail.com','Mi nombre');
mailer.tos().clear();
// Uno o mas destinatarios de correo
mailer.tos().appendAddress('destinatario@correo.com');
mailer.subject('Email enviado desde Dynamics AX');
mailer.htmlBody('
Este es el cuerpo de nuestro mensaje de correo.');
mailer.sendMail();


}


espero logres algo con esto
Yo miraría el Firewall o el antivirus que lo mismo te esta bloqueando las salidas.

Si estas dentro de un dominio puedes tener problemas con los DNS, por eso no te hace bien la resolución, por eso te aconsejo que pruebes primero instalando el smtp virtual que te viene con el IIS.

Hola también yo estoy intentando enviar correo electrónico  pero me aparece el siguiente error:

 El método 'send' en el objeto COM de clase 'CDO.Message' devolvió el código de error 0x80040213 (<desconocido>), lo que significa: Error de transporte en la conexión al servidor.

y ocupo el smtp.gmail.com puerto 587 ;tengo outlook pero no me envia correos al configurar las alertas aunque ya me aparecen el procesamiento de envió de correos y me da el estado de no superado,por eso lo hice en código y y con otro servidor smtp.

 

Espero me puedan ayudar .

Saludos.

 

RSS

© 2012   Creado por Antonio Gilabert.

Emblemas  |  Reportar un problema  |  Términos de servicio