Я создал приложение Flex, которое использует airxmail от Coltware для отправки SMTP-сообщений.Он вызывает локальный SMTP-сервер (hmailserver), который пересылает электронную почту соответствующим образом.При запуске в среде Flash Builder все работает, как задумано.Я также могу отправлять электронную почту как локально, так и удаленно с SMTP-сервера, используя telnet, поэтому я знаю, что это не проблема с сервером.
При размещении на самом почтовом ящике, вне графического интерфейса приложенияне удается отправить электронное письмо.Я создал файл crossdomain.xml, чтобы разрешить такой доступ, но я не верю, что он настроен правильно.
Код Flex:
sender = new SMTPSender();
sender.setParameter(SMTPSender.HOST,"192.168.10.10");
sender.setParameter(SMTPSender.PORT,25);
sender.setParameter(SMTPSender.AUTH,true);
sender.setParameter(SMTPSender.USERNAME,"emailuser@domain.com");
sender.setParameter(SMTPSender.PASSWORD,"password");
var message:MimeMessage = new MimeMessage();
message.contentType = ContentType.MULTIPART_ALTERNATIVE;
var from:INetAddress = new INetAddress("emailuser@server.com","Fake Name");
message.setFrom(from);
var toRecpt:INetAddress = new INetAddress(email,username);
message.addRcpt(RecipientType.TO,toRecpt);
message.setSubject(subject);
var partHtml:MimeTextPart = message.createTextPart();
partHtml.setHtmlText(body);
sender.send(message);
sender.close();
Когда я добавляю прослушиватели для различныхSMTPСобытия, никто из них не стреляет.Я думаю, что это связано с отсутствием разрешений или плохой конфигурацией в файле crossdomain.xml, который настроен как:
<?xml version="1.0" ?>
<!DOCTYPE cross-domain-policy (View Source for full doctype...)>
- <cross-domain-policy>
<allow-access-from domain="192.168.10.10" to-ports="25" secure="true" />
<allow-access-to domain="192.168.10.10" secure="false" />
</cross-domain-policy>
Я нашел ряд вопросов, подобных этому, но несколько опубликованных ответов,Я убежден, что это что-то очевидное.Любые идеи относительно того, как я могу действовать?
Спасибо!