+ Ответить в теме
Страница 2 из 3
ПерваяПервая 1 2 3 ПоследняяПоследняя
Показано с 41 по 80 из 90
  1. #1
    Мастер Аватар для noRoman
    Регистрация
    22.03.2010
    Адрес
    Новочебоксарск
    Сообщений
    757

    отправка смс, email из DS

    Давно хотел написать. Но вот заказчику понадобилось и пришлось. Полазил по инету и вот что получилось.
    PHP код:
    $address 'smtp.mail.ru'// адрес smtp-сервера
    $port    25;          // порт (стандартный smtp - 25)
    $login   'mail';    // логин к ящику
    $pwd     'pass';    // пароль к ящику
    $from    'mail@mail.ru';  // адрес отправителя
    $to      '7номертелефона@sms.mgsm.ru';  // адрес получателя (об этом подробнее после кода)
    $subject c("edit1")->text;       // тема сообщения
    $message c("memo1")->text;          // текст сообщения
    try {
    // Создаем сокет
      
    $socket socket_create(AF_INETSOCK_STREAMSOL_TCP);
      if (
    $socket 0) {
        throw new 
    Exception('socket_create() failed: '.socket_strerror(socket_last_error())."\n");}
      
    // Соединяем сокет к серверу
      
    $result socket_connect($socket$address$port);
      if (
    $result === false) {
        throw new 
    Exception('socket_connect() failed: '.socket_strerror(socket_last_error())."\n");
      }
      
    // Читаем информацию о сервере
      
    read_smtp_answer($socket);
      
    // Приветствуем сервер
      
    write_smtp_response($socket'EHLO '.$login);
      
    read_smtp_answer($socket); // ответ сервера
      // Делаем запрос авторизации
      
    write_smtp_response($socket'AUTH LOGIN');
      
    read_smtp_answer($socket); // ответ сервера
      // Отравляем логин
      
    write_smtp_response($socketbase64_encode($login));
      
    read_smtp_answer($socket); // ответ сервера
      // Отравляем пароль
      
    write_smtp_response($socketbase64_encode($pwd));
      
    read_smtp_answer($socket); // ответ сервера
      // Задаем адрес отправителя
      
    write_smtp_response($socket'MAIL FROM:<'.$from.'>');
      
    read_smtp_answer($socket); // ответ сервера
      // Задаем адрес получателя
      
    write_smtp_response($socket'RCPT TO:<'.$to.'>');
      
    read_smtp_answer($socket); // ответ сервера
      // Готовим сервер к приему данных
      
    write_smtp_response($socket'DATA');
      
    read_smtp_answer($socket); // ответ сервера
      // Отправляем данные
      
    $message "To: $to\r\n".$message// добавляем заголовок сообщения "адрес получателя"
      
    $message "Subject: $subject\r\n".$message// заголовок "тема сообщения"
      
    write_smtp_response($socket$message."\r\n.");
      
    read_smtp_answer($socket); // ответ сервера
      // Отсоединяемся от сервера
      
    write_smtp_response($socket'QUIT');
      
    read_smtp_answer($socket); // ответ сервера
    } catch (Exception $e) {
      echo 
    "\nError: ".$e->getMessage();
    }
    //if (isset($socket)) {
      
    socket_close($socket);
    //}
    // Функция для чтения ответа сервера. Выбрасывает исключение в случае ошибки
    function read_smtp_answer($socket) {
      
    $read socket_read($socket1024);
      if (
    $read{0} != '2' && $read{0} != '3') {
        if (!empty(
    $read)) {throw new Exception('SMTP failed: '.$read."\n");
        } else {throw new 
    Exception('Unknown error'."\n");}
      }
    }
    // Функция для отправки запроса серверу
    function write_smtp_response($socket$msg) {
      
    $msg $msg."\r\n";
      
    socket_write($socket$msgstrlen($msg));

    Насчет сотовых компаний и их почтовых ящиков для смс можно посмотреть тут http://www.diwaxx.ru/frik/e-mail_to_sms.php
    Код работает. Проверено, не жаловаться. У некоторых может быть отключена служба приема смс из инета. Уточняйте у оператора.
    Для чего может пригодиться? Сможете принимать заказы, заявки, предложения, инфу от своей проги (фейкеров просьба выпить я... валерьянки ).

    ps подправил код. Был кривой копипаст. Сорри
    не забудьте подключить библиотеку php_sockets.dll
    Последний раз редактировалось noRoman; 29.03.2011 в 13:22.
    PS Я хороший программист потому что читаю это!

  2. 12 пользователя(ей) сказали cпасибо:

    devillom (10.04.2011), dimasoftua (04.04.2011), EINSHTEIN (29.03.2011), file_put_contents (18.04.2011), Gews (29.03.2011), kazer_xxx (29.03.2011), Kiro (29.03.2011), lancer51 (29.03.2011), ogrim (30.03.2011), ReS1DeNT (19.04.2011), santoni7 (29.03.2011), АрТисТ (29.03.2011)

  3. #41
    Пользователь
    Регистрация
    11.08.2010
    Сообщений
    124
    А я нечего не понял =( что куда да как

  4. #42
    Мастер Аватар для noRoman
    Регистрация
    22.03.2010
    Адрес
    Новочебоксарск
    Сообщений
    757
    Цитата Сообщение от ReS1DeNT Посмотреть сообщение
    А я нечего не понял =( что куда да как
    прочитайте всю тему от начала до конца. Будут вопросы - задавайте
    PS Я хороший программист потому что читаю это!

  5. #43
    Пользователь Аватар для devillom
    Регистрация
    24.02.2011
    Адрес
    Казахстан
    Сообщений
    197
    Жаль что нет kcell и Актив (Казахстан) =(*

  6. #44
    Пользователь Аватар для KOROLЬ
    Регистрация
    11.04.2011
    Сообщений
    139
    "'smtp.mail.ru'; // адрес smtp-сервера"


    что тут указать я что то не пойму))

  7. #45
    Пользователь Аватар для devillom
    Регистрация
    24.02.2011
    Адрес
    Казахстан
    Сообщений
    197
    KOROLЬ
    если ты пользуешься почтовым сервисом mail.ru то менять не нужно

  8. #46
    Пользователь Аватар для KOROLЬ
    Регистрация
    11.04.2011
    Сообщений
    139
    да пользуюсь но чет пишет ошибку

  9. #47
    Пользователь
    Регистрация
    11.08.2010
    Сообщений
    124
    noRoman, я просто не пойму куда весь этот код вставлять =(

  10. #48
    Пользователь Аватар для devillom
    Регистрация
    24.02.2011
    Адрес
    Казахстан
    Сообщений
    197
    ReS1DeNT
    Создай кнопку и туда при клике этот код

  11. #49
    Пользователь
    Регистрация
    11.08.2010
    Сообщений
    124
    devillom, ы, я с начало так и хотел но потом подумал что код слишком уж большой =)

  12. #50
    Пользователь
    Регистрация
    11.08.2010
    Сообщений
    124
    Всё, всё класс работает, спасибо!

  13. #51
    Пользователь
    Регистрация
    11.08.2010
    Сообщений
    124
    А как сделать чтоб текст шел с нескольких мемо?
    я хочу сделать прогу типо теста, и там будет типо так:
    Картинка
    И что бы это отправляло в 1м сообщении (и чтоб был каждый вопрос с новой строки, в сообщении на mail)...
    Просто я это уже давно спрашивал и вот вспомнилось =) только не каких фейков я делать не хочу...
    Последний раз редактировалось ReS1DeNT; 19.04.2011 в 02:03.

  14. #52
    Мастер Аватар для kazer_xxx
    Регистрация
    08.01.2011
    Адрес
    Копейск
    Сообщений
    1,148
    Цитата Сообщение от ReS1DeNT Посмотреть сообщение
    А как сделать чтоб текст шел с нескольких мемо?
    я хочу сделать прогу типо теста, и там будет типо так:
    Картинка
    И что бы это отправляло в 1м сообщении (и чтоб был каждый вопрос с новой строки, в сообщении на mail)...
    Просто я это уже давно спрашивал и вот вспомнилось =) только не каких фейков я делать не хочу...
    Вот такой простой код:
    PHP код:
    $message c("memo1")->text.c("memo2")->text.c("memo3")->text.c("memo4")->text
    Как хочу быть красненьким и с надписью "Админ"

  15. #53
    Пользователь
    Регистрация
    11.08.2010
    Сообщений
    124
    kazer_xxx, во, спасибо большое! Ато я не знал как последовательность писать =)

  16. #54
    Пользователь Аватар для KOROLЬ
    Регистрация
    11.04.2011
    Сообщений
    139
    а как для белорусии сделать? вот я сделал у меня пришло на мой телефон пробую другу нехочит((

  17. #55
    Пользователь Аватар для KOROLЬ
    Регистрация
    11.04.2011
    Сообщений
    139
    для белорусии и украины как прописать ихний " адрес получателя" и еще поч сообщения на АНГ языке?

  18. #56
    Мастер Аватар для noRoman
    Регистрация
    22.03.2010
    Адрес
    Новочебоксарск
    Сообщений
    757
    Цитата Сообщение от KOROLЬ Посмотреть сообщение
    для белорусии и украины как прописать ихний " адрес получателя" и еще поч сообщения на АНГ языке?
    "ихний " адрес получателя" узнаете у "ихнего сотового оператора"
    вот пример. Megafon-поволжье: http://volga.megafon.ru/services/base/sms.html
    читаем:
    Электронная почта GSM
    Эта услуга позволяет отправлять и получать SMS-сообщения на сотовый телефон с любого почтового сервера в Интернете.
    Каждому сотовому телефону, подключенному к сети «МегаФон», присваивается виртуальный почтовый адрес: 792ХXХХХХХХ@sms.mgsm.ru. Чтобы отправить e-mail на сотовый телефон, сообщение не должно содержать более 160 латинских символов в формате обычного текста. Сообщения на русском языке отправляется в кодировке Windows-1251 или KOI-8 и не должны содержать больше 70 символов.
    PS Я хороший программист потому что читаю это!

  19. #57


    надо чтобы при нажатии на кнопку то что было введено в поле для текста отсылалось на e-mail..подскажите как это сделать
    Последний раз редактировалось WIZIARD; 30.04.2011 в 16:59.

  20. #58
    Новичок
    Регистрация
    13.04.2011
    Сообщений
    24
    Цитата Сообщение от WIZIARD Посмотреть сообщение

    надо чтобы при нажатии на кнопку то что было введено в поле для текста отсылалось на e-mail..подскажите как это сделать
    Тебе код для чего дали? Для того что-бы ты его заново спросил?

  21. #59
    Пользователь
    Регистрация
    11.08.2010
    Сообщений
    124
    Ещё вопрос, как сделать чтоб отправляло выбранный вариант из "combobox" ато оно сразу все отправляет

  22. #60
    Пользователь
    Регистрация
    11.08.2010
    Сообщений
    124
    WIZIARD, вон мне код с мемо давали, там просто вместо мемо поменяй на edit

  23. #61
    Мастер Аватар для kazer_xxx
    Регистрация
    08.01.2011
    Адрес
    Копейск
    Сообщений
    1,148
    Цитата Сообщение от ReS1DeNT Посмотреть сообщение
    Ещё вопрос, как сделать чтоб отправляло выбранный вариант из "combobox" ато оно сразу все отправляет
    PHP код:
    $message c("combobox1")->items->selected
    Как хочу быть красненьким и с надписью "Админ"

  24. Пользователь сказал cпасибо:

    ReS1DeNT (01.05.2011)

  25. #62
    Ученик
    Регистрация
    15.05.2011
    Адрес
    Где-то рядом
    Сообщений
    41
    какая то ошибка получается (отправляет один раз и выдает какую то фигню )

  26. #63
    Пользователь Аватар для WinRar
    Регистрация
    27.02.2011
    Адрес
    29 регион
    Сообщений
    147
    7911******* на какой адрес?
    На том сайте нету

  27. #64
    Ученик
    Регистрация
    15.05.2011
    Адрес
    Где-то рядом
    Сообщений
    41
    смотри по оператору

  28. #65
    Опытный Аватар для duff04
    Регистрация
    24.06.2010
    Адрес
    Пятигорск
    Сообщений
    260
    Проблема вот в чем:
    нажимаю 1 раз, письмо отправляется,
    нажимаю 2 раз и последующие, выдает ошибку

  29. #66
    Опытный Аватар для lancer51
    Регистрация
    26.02.2011
    Адрес
    Днепропетровск
    Сообщений
    218
    Потому что в коде создаються функции.

    Вынеси сами функции в отдельный файл, а потом их вызывай.

  30. #67

    ?

    У меня пишет ошибку "socket_connect: Попытка установить соединение была безуспешной так как от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из за неверного отклика уже подключенного компьютера"
    И пишет ошибку в строке: $result = socket_connect($socket, $address, $port);

  31. #68
    Новичок Аватар для Fatal Error
    Регистрация
    13.08.2011
    Адрес
    Приднестровье
    Сообщений
    3
    Кто-то может собрать программу и выложить исходник, а то никак не могу довести до ума, ошибки всякие, + знания языка не шедевральны.
    Буду благодарен если кто-то поможет.

  32. #69
    Воде все правельно ввел, А вылетает вот такая ошибка:

    Или это:
    Последний раз редактировалось MasiZ; 15.01.2012 в 03:13.

  33. #70
    Цитата Сообщение от MasiZ Посмотреть сообщение
    Воде все правельно ввел, А вылетает вот такая ошибка:

    Или это:
    Вы дату темы виделы ?
    Хватит старые темы поднимать!!

  34. #71
    Мастер Аватар для forumrulez
    Регистрация
    16.10.2010
    Адрес
    Киев
    Сообщений
    1,058
    Цитата Сообщение от malish Посмотреть сообщение
    Вы дату темы виделы ?
    Хватит старые темы поднимать!!
    Ну и что? Т.С. Заходит на форум ежедневно, так что какая разница старая тема или нет?, сли посмотреть активность Т.С. то практически каждый день форум посещяет)

  35. #72
    Цитата Сообщение от malish Посмотреть сообщение
    Вы дату темы виделы ?
    Хватит старые темы поднимать!!
    Тема может и старая но актуальная!

  36. #73
    Цитата Сообщение от MasiZ Посмотреть сообщение
    Тема может и старая но актуальная!
    тут проявляется естественный отбор, фейкеры и те кому особо этот код не нужен, осилить его не могут

  37. Пользователь сказал cпасибо:

    ZeoNish (15.01.2012)

  38. #74
    Цитата Сообщение от Карпатов Олег Посмотреть сообщение
    тут проявляется естественный отбор, фейкеры и те кому особо этот код не нужен, осилить его не могут
    Я не фейкер! Подобным Г... не занимаюсь. Мне просто нужна форма обратной связи. Че делать?

  39. #75
    Ученик
    Регистрация
    17.09.2011
    Адрес
    Россия
    Сообщений
    42
    Цитата Сообщение от MasiZ Посмотреть сообщение
    Я не фейкер! Подобным Г... не занимаюсь. Мне просто нужна форма обратной связи. Че делать?
    Создай тут тему =) и сделай ссылочку на нее =) хоть народ привлечешь...

  40. #76
    Цитата Сообщение от MasiZ Посмотреть сообщение
    Я не фейкер! Подобным Г... не занимаюсь. Мне просто нужна форма обратной связи. Че делать?
    я разве категорично заявил, что все кто не может справится фейкеры?)
    наверно скачать скрипт (в яндексе найти можно)
    залить на свой сайт и через браузер реализовать..
    или выучить курл, создать скрипт обработчик на сервере и отсылать письма через сервер

  41. #77
    Главный Разработчик Аватар для Devel
    Регистрация
    11.03.2010
    Сообщений
    1,231
    Не рекомендую так отправлять почту, т.к. ваши логин и пароль из программы легко отснифить, тупо узнают ваш логин и пароль - затем смогут использовать вашу почту.

  42. Пользователь сказал cпасибо:

    ZeoNish (15.01.2012)

  43. #78
    Ученик
    Регистрация
    17.09.2011
    Адрес
    Россия
    Сообщений
    42
    Цитата Сообщение от Devel Посмотреть сообщение
    Не рекомендую так отправлять почту, т.к. ваши логин и пароль из программы легко отснифить, тупо узнают ваш логин и пароль - затем смогут использовать вашу почту.
    +++ и это правельно...

  44. #79
    Ученик
    Регистрация
    17.09.2011
    Адрес
    Россия
    Сообщений
    42
    Цитата Сообщение от Devel Посмотреть сообщение
    Не рекомендую так отправлять почту, т.к. ваши логин и пароль из программы легко отснифить, тупо узнают ваш логин и пароль - затем смогут использовать вашу почту.
    а не подскажешь как реализовать форму потдержки? мне бы прегодилось ... думаю не только мне =)
    что то типо form1 на ней edit1 и btn1-> тык по btn1 и письмо полетело на почту мне ...
    Последний раз редактировалось ZeoNish; 15.01.2012 в 23:33.

  45. #80

    Цитата Сообщение от noRoman Посмотреть сообщение
    "ихний " адрес получателя" узнаете у "ихнего сотового оператора"
    вот пример. Megafon-поволжье: http://volga.megafon.ru/services/base/sms.html
    читаем:
    Электронная почта GSM
    Эта услуга позволяет отправлять и получать SMS-сообщения на сотовый телефон с любого почтового сервера в Интернете.
    Каждому сотовому телефону, подключенному к сети «МегаФон», присваивается виртуальный почтовый адрес: 792ХXХХХХХХ@sms.mgsm.ru. Чтобы отправить e-mail на сотовый телефон, сообщение не должно содержать более 160 латинских символов в формате обычного текста. Сообщения на русском языке отправляется в кодировке Windows-1251 или KOI-8 и не должны содержать больше 70 символов.
    В Узб (МТС) можно отправит смс ?

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения