Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Помогите отправить email без использования php (http://www.flasher.ru/forum/showthread.php?t=185977)

mrDarko 25.10.2012 15:01

Помогите отправить email без использования php
 
Задача такова: нужно отправить email с текстовым содержимым без использования php. Помогите в этом вопросе, а то гугл 2й день мучаю ничего толкового найти не могу
Что для этого нужно? Какие библиотеки юзать?

in4core 25.10.2012 15:08

Без пхп или иного сервера вы не сможете отправить письмо напрямую из флеш. Максимум , что возможно воспользоваться открытием почтового клиента на mailto:somemail используя htmlText для текстового поля. На даже в этом случае в почтовый клиент данные передать не удастся. Используйте пхп, в чем вопрос то?!

caseyryan 25.10.2012 16:05

Цитата:

Без пхп или иного сервера вы не сможете отправить письмо напрямую из флеш.
Ну почему же? Флеш умеет работать с сокетами, с http и др. Что еще нужно? По сути дело лишь в почтовых протоколах. Если написать их на ас3, то почему нет?
К примеру вот:
http://as3maillib.googlecode.com/svn...ode/mail/smtp/

п.с. но лично не проверял. Так что подсказать ничего не могу.

mrDarko 25.10.2012 16:18

Цитата:

Используйте пхп, в чем вопрос то?!
Приложение не браузерное а стендэлоне так сказать.

Цитата:

п.с. но лично не проверял. Так что подсказать ничего не могу.
Вот вот, я и сам уже кучу всего переплобовал, что то не выходит ((
http://www.flasher.ru/forum/showthread.php?t=184187
Пробовал вот эт, ну это вродь для Air а я на CS4 пишу

in4core 25.10.2012 16:26

Цитата:

Пробовал вот эт, ну это вродь для Air а я на CS4 пишу
Смешная шутка. Вот бы тоже научится на CS4 писать! Может быть на AS3? Ну так переделайте проект под AIR , работать будет так же, код менять не надо.

Цитата:

Флеш умеет работать с сокетами, с http
Эка ты хитер! А работа с сокетами это не с с сервером ? Порт и хост - нам для красоты нужны? !

caseyryan 25.10.2012 16:30

Цитата:

Эка ты хитер! А работа с сокетами это не с с сервером ? Порт и хост - нам для красоты нужны? !
С сервером, все верно. Например с почтовым сервером яндекса, или гугла. Чем не серверы?

mrDarko 25.10.2012 16:36

Цитата:

Вот бы тоже научится на CS4 писать!
=) Да да АС3, очипятался

Добавлено через 23 минуты
Цитата:

К примеру вот:
http://as3maillib.googlecode.com/svn...ode/mail/smtp/
Что то вообще не догоняю как заставить ту целю кучу файлов работать в месте)

Jewelz 25.10.2012 17:16

юзал com.coltware.airxmail.MailSender

в примере отправка сообщение с приложением фото

Код AS3:

var obj:Object = { };
obj.to = toEmail; // кому шлем
obj.subj = subject; // тема
obj.image = imagePath; // путь до фото (если надо)
 
var sender:SMTPSender = new SMTPSender();
sender.setParameter(SMTPSender.HOST,"smtp.yandex.ru");
sender.setParameter(SMTPSender.PORT, 25)// default port is 25
 
// If you use SMTP-AUTH
sender.setParameter(SMTPSender.AUTH,true);
sender.setParameter(SMTPSender.USERNAME, name);
sender.setParameter(SMTPSender.PASSWORD, password);
 
var contentType:ContentType = ContentType.MULTIPART_MIXED;
 
// Create email message
var message:MimeMessage = new MimeMessage(contentType);
 
//  Set from email address and reciepients
var from:INetAddress = new INetAddress("test@yandex.ru","test@yandex.ru");
message.setFrom(from);
var toRecpt:INetAddress = new INetAddress(fromEmail, fromEmail);
message.addRcpt(RecipientType.TO,toRecpt);
message.setSubject(subject);
 
var textPart:MimeTextPart = new MimeTextPart();
textPart.contentType.setParameter("charset","UTF-8");
textPart.transferEncoding = "8bit";
textPart.setText(text); //текст письма
message.addChildPart(textPart);
 
var filePart:MimeBinaryPart = new MimeBinaryPart();
filePart.setAttachementFile(File.applicationDirectory.resolvePath(imagePath), attachmentName); // attachmentName - название вложенного файла       
message.addChildPart(filePart);
 
sender.send(message);
sender.close();


mrDarko 25.10.2012 17:33

Цитата:

юзал com.coltware.airxmail.MailSender
во флеше?

Добавлено через 57 секунд
А то что то я вообще запутался

Jewelz 25.10.2012 17:35

на Air

Krusty 25.10.2012 18:51

Цитата:

Сообщение от caseyryan (Сообщение 1101304)
С сервером, все верно. Например с почтовым сервером яндекса, или гугла. Чем не серверы?

Не думаю, что они озаботились стартом сервера политики сокетов Адоба у себя на серверах, так что мимо, работать не будет. Только с собственным сервером, только с настройкой сервера политики, только хардкор.

mrDarko 25.10.2012 20:01

А не могли б вы по поводу сокета уточнить информацию, что там вообще к чему, желательно с примерами :Р

Добавлено через 2 минуты
Цитата:

только хардкор.
Не хочу я хардкор

dimarik 25.10.2012 22:30

http://www.google.ru/search?q=actionscript+pop3+client

mrDarko 26.10.2012 12:05

Смогу ли я при помощи этого из flash отправить текстовое письмо?
http://code.google.com/p/airxmail/so...ender.as?r=112

Добавлено через 1 час 13 минут
И еще немного оффтопа, если я буду использовать AIR, смогу ли я скомпилить exe приложение, как с флеш?

mrDarko 30.10.2012 19:31

У меня возникла идея, я же могу передать данные на сайт моей компании в php скрипт, который уже и отправит мое сообщение? К примеру передать через ссылку всю информацию?

Jewelz 30.10.2012 23:16

конечно можете

mrDarko 31.10.2012 17:54

Все, у меня все получилось =) Спасибо всем кто пытался помочь)
В общем, может кому пригодиться
Код AS3:

bt_send.addEventListener(MouseEvent.CLICK, send_f); //добавляем слушателя для кнопки "отправить"
 
 
function send_f(event:MouseEvent):void  //собственно сама функция нажатия кнопки
{
        //проверяем все ли поля заполнены, если да, то формируем формируем сообщение и отправляем наши данные через URL, которые мы потом поймаем и обработаем php скриптом
 
        if ( fio.text && email.text && phones.text && company.text && from.text && to.text && date.text && tt.text && dop.text !="")
        {att.visible= false;
      //формируем сообщение
        msg="<b>ФИО:</b>"+fio.text+"<br>"+"<b>Почта:</b>"+email.text+"<br>"+"<b>Телефоны:</b>"
        +phones.text+"<br>"+"<b>Компания:</b>"+company.text+"<br>"+"<b>Откуда:</b>"+from.text
        +"<br>"+"<b>Куда:</b>"+to.text+"<br>"+"<b>Дата:</b>"
        +date.text+"<br>"+"<b>Тоннаж и обьем:</b>"+tt.text+"<br>"+"<b>Дополнительно:</b>"
        +dop.text+"<br>"+"_____________________________________________"
        +"<br>"+"Данное сообщение сгенерированно программой.";
        //собираем нужную нам ссылку
        var sendm:URLRequest=new URLRequest("http://адрес сайта/mail_send?send=1&mmsg="+msg);
        //открываем наш URL в браузере
    navigateToURL(sendm);
        }
 
        else
        {att.visible= true }
}

И вот пхп который ловит и отправляет сообщение
PHP код:

<?php 

$msg
=$_GET["mmsg"]; //получаем переданное сообщение из URL 
$subject '=?UTF-8?B?'.base64_encode('Заявка').'?='// это перекодировка текста, что б нормально воспринимался русский текст в теме письма 
$headers  ="Content-type:text/html; charset = utf-8"//выставляем Content-type нашего сообщения, что б почтовики могли его нормально открыть, если не указать кодировку то текст на русском будет отображаться некорректно
 
mail("Сюда пишем E-MAIL куда будем отправлять"$subject$msg $headers);//собственно сама отправка сообщения 

echo "Ваша заявка отправлена успешно! В ближайшее время с вами свяжется менеджер."  ?>


Jewelz 31.10.2012 23:41

navigateToURL откроет окно в браузере, лучше делать с URLLoader

mrDarko 01.11.2012 12:27

Не не, так удобней, клиент не только отправляет письмо, но и еще на сайт наш попадает, где пишется об успешной отправке. Нам выгода с этого)

client510 09.11.2012 17:46

Доброго времени суток.
Вот код:
Код AS3:

function fl_MouseClickHandler_15(event:MouseEvent):void
{
        var contact_name:String = contact_name.text;
        var contact_email:String = contact_email.text;
        var contact_subject:String = contact_subject.text;
        var contact_message:String = contact_message.text;
 
        if(contact_name == "" || contact_email == "" || contact_subject == "" || contact_message == "")
        {
                trace(contact_error.text = ("Ошибка! Не запонены все поля"));
                return;
        }
 
    var sender:SMTPSender = new SMTPSender();
        sender.setParameter(SMTPSender.HOST, mailsmtp);
            sender.setParameter(SMTPSender.PORT, 25);
        sender.setParameter(SMTPSender.AUTH, true);
        sender.setParameter(SMTPSender.USERNAME, maillogin);
            sender.setParameter(SMTPSender.PASSWORD, mailpasword);
        var contentType:ContentType = ContentType.MULTIPART_MIXED;
        var messages:MimeMessage = new MimeMessage(contentType);
        var form:INetAddress = new INetAddress(mailadress, mailadress);
            messages.setFrom(form);
        var toRecpt:INetAddress = new INetAddress(mailadress, mailadress);
        messages.addRcpt(RecipientType.TO,toRecpt);
                messages.setSubject(contact_subject);
        var textPart:MimeTextPart = new MimeTextPart();
            textPart.contentType.setParameter("charset","UTF-8");
                textPart.transferEncoding = "8bit";
                textPart.setText(contact_message);
                messages.addChildPart(textPart);
}

Постоянно выдает ошибку 1120 в этой строке:
Код AS3:

messages.addRcpt(RecipientType.TO,toRecpt);

Подскажите, что я сделал не правильно.


Часовой пояс GMT +4, время: 11:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.