Tengo problemas con la nueva política de crossdomain.
Mi escenario es el siguiente:
1) Servidor Web (W2003 y IIS)
2) Servidor de correos (W2003)
3) Desarrollo Flex 3
La aplicación se encuentra en el servidor Web y envía correos.
Con la nueva política, no tengo manera de enviar correos ya que obtengo el mensaje de error: sandobox violación de seguridad, en dominio y puerto 25 (que es el servidor de correos)
Sin embargo si realizo las pruebas desde el entorno de desarrollo (Flex) y conectando a los servidor todo funciona sin problemas.
He probado de todas las formas y opciones al escribir el fichero crossdomain.xml, lo pongo aquí (el fichero está situado en la raíz del servidor web) antes esto funcionaba correctamente.
<?xml version="1.0" encoding="UTF-8" ?>
<cross-domain-policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd">
<allow-access-from domain="*" to-ports="*" secure="true" />
<allow-access-from domain="*" secure="false"/>
<allow-access-from domain="*.localhost" secure="false"/>
<allow-access-from domain="*.MiDominio.com" secure="false"/>
<allow-access-from domain="www.MiDomino.com" secure="false"/>
<allow-access-from domain="mail.MiDominio.com" to-ports="*" secure="false"/>
<allow-access-from domain="mail.MiDominio.com" to-ports="25" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*" secure="false" />
</cross-domain-policy>
El problema es que no consigo que dar autorización a mail.MiDomino.com puerto 25.
Por lo que he leído y buscado por google aunque sigo sin enterarme bien, es que para poder utilizar el tema de puerto a partir de la nueva política de cross domain, tengo que servir o mejor dicho el servidor debe enviar el fichero crossdomain.xml
Entiendo que no sirve con que este el fichero crossdomain.xml y que lo lea como siempre ha sido, sino que tengo que servir o enviar de otra forma.
He probado desde la aplicación utilizando:
Líneas probadas:
Security.allowDomain("*");
Security.loadPolicyFile("http://mail.MiDominio.com/crossdomain.xml");
Security.loadPolicyFile("xmlsocket://mail.Midominio.com:843");
Security.loadPolicyFile("xmlsocket://mail.Midominio.com:25");
loSendMail = new SMTPMailer( “mail.MiDominio.com”, 25 );
Sin resultado
El problema es que en entorno de desarrollo funciona todo correcto y se conecta sin problemas al servidor de correos.
Como se puede ver para enviar correos estoy utilizado la librería SMTPMailer.
Alguien me puede explicar cómo puede aplicar la política de cross domain, ya que la única conclusión que he sacado buscando en google, es que hay que realizar un tipo de programa que este escuchar en el puerto 843 y que retorno el .xml
Si esto es realmente de esta forma, por Dios que locura, tendría que poner aplicaciones y/o programas en el servidor de correos ufff que locura (cómo, con que lenguaje ayyyyyy).
Ya no sé que más probar para hacer funcionar el correo.
Gracias.