|   |   | 
| 
 | Выполнить PHP скрипт на 1С | ☑ | ||
|---|---|---|---|---|
| 0
    
        tavro03 01.05.16✎ 10:11 | 
        Всем привет!
 Есть готовый класс на PHP: define ('DEBUG_OK', true); class CCheckMail { var $timeout = 10; var $domain_rules = array ("aol.com", "bigfoot.com", "brain.net.pk", "breathemail.net", "compuserve.com", "dialnet.co.uk", "glocksoft.com", "home.com", "msn.com", "rocketmail.com", "uu.net", "yahoo.com", "yahoo.de"); function execute ($email = ""){ if (!$this->_is_valid_email ($email)) return false; $host = substr (strstr ($email, '@'), 1); if ($this->_check_domain_rules ($host)) return false; $host .= "."; if (getmxrr ($host, $mxhosts[0], $mxhosts[1]) == true) array_multisort ($mxhosts[1], $mxhosts[0]); else { $mxhosts[0] = $host; $mxhosts[1] = 10; } if (DEBUG_OK) print_r ($mxhosts); $port = 25; $localhost = $_SERVER['HTTP_HOST']; $sender = 'info@' . $localhost; $result = false; $id = 0; while (!$result && $id < count ($mxhosts[0])) { if (function_exists ("fsockopen")) { if (DEBUG_OK) print_r ($id . " " . $mxhosts[0][$id]); if ($connection = fsockopen ($mxhosts[0][$id], $port, $errno, $error, $this->timeout)) { fputs ($connection,"HELO $localhost\r\n"); // 250 $data = fgets ($connection,1024); $response = substr ($data,0,1); if (DEBUG_OK) print_r ($data); if ($response == '2') // 200, 250 etc. { fputs ($connection,"MAIL FROM:<$sender>\r\n"); $data = fgets($connection,1024); $response = substr ($data,0,1); if (DEBUG_OK) print_r ($data); if ($response == '2') // 200, 250 etc. { fputs ($connection,"RCPT TO:<$email>\r\n"); $data = fgets($connection,1024); $response = substr ($data,0,1); if (DEBUG_OK) print_r ($data); if ($response == '2') // 200, 250 etc. { fputs ($connection,"data\r\n"); $data = fgets($connection,1024); $response = substr ($data,0,1); if (DEBUG_OK) print_r ($data); if ($response == '2') // 200, 250 etc. { $result = true; } } } } fputs ($connection,"QUIT\r\n"); fclose ($connection); if ($result) return true; } } else break; $id++; } //while return false; } } Пример вызова вышеуказанного класса на PHP: $str='vasya@mail.ru' $alter=new CCheckMail (); print "E-mail: ".$str." - ".($alter->execute($str)?'существует':'не существует'); Принцип задаётся почта и она проверяется на существование. Результатом выполнения будет сообщение: существует или не существует. Ребята, как этот класс и вызов этого класса дергать из 1С ??? Видел на форумах что нужно делать через POST запрос, но там нужно сервер какой то указывать, название сайта и т.д. У меня нет ни сайта, не сервера. Просто нужно выполнять этот скрипт. | |||
| 1
    
        4St 01.05.16✎ 10:18 | 
        Поздними в локалке какой-нибудь denwer/lamp, сделай в нем сайт с одной страницей, а из 1с обращайся к ней.
 Или попробуй пхп скрипт запускать через командную строку. | |||
| 2
    
        Лефмихалыч 01.05.16✎ 10:33 | 
        устанавиваешь инетрпертатор php,  из 1С кастуешь КомандаСистемы("php.exe tvojscript.php");     | |||
| 3
    
        Asmody 01.05.16✎ 10:52 | 
        (0) очередного спам-бота пишешь?     | |||
| 4
    
        Asmody 01.05.16✎ 10:58 | 
        Кроме того, очевидно, что в (0) нерабочий кусок кода, древнего, как говно мамонта.     | |||
| 5
    
        tavro03 01.05.16✎ 11:35 | 
        (4) Спасибо за комментарий про качество PHP кода. Но всё же более производительное использование этого кода без интерпритатора PHP возможно в среде 1С?     | |||
| 6
    
        Asmody 01.05.16✎ 11:41 | 
        У меня нет слов!
 А без компьютера код не пробовал выполнять? | |||
| 7
    
        b_ru 01.05.16✎ 11:47 | 
        (5) Да, возможно. Перепиши на Си, скомпилируй и запускай экзешник.     | |||
| 8
    
        tavro03 01.05.16✎ 12:13 | 
        Ребята, а как через POST  запрос реализовать этот код?     | |||
| 9
    
        4St 01.05.16✎ 13:03 | 
        (8) что именно непонятно в (1)? На стороне 1с надо использовать объект httpзапрос.     | |||
| 10
    
        xaozai 01.05.16✎ 13:39 | 
        (8) Post запрос должен идти к серверу, на котором крутится php и размещен этот скрипт...
 http://www.develplatform.com/2014/03/get-post-1-8.html | |||
| 11
    
        Rie 01.05.16✎ 15:30 | 
        (8) POST-_запрос_ - _кому_ будет адресован?     | |||
| 12
    
        APXi 01.05.16✎ 15:39 | 
        Возможно всё! Только все упирается во время.     | |||
| 13
    
        Rie 01.05.16✎ 15:55 | 
        Что-то эта тема мне напоминает. Какую-то другую тему, тоже связанную со странной идеей проверки существования почтового адреса...
 Программа "Пойди туда, не знаю, куда, принеси то, не знаю что" - бесполезна на любом языке. В том числе и на PHP. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |