Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использование imap, pop, smtp через socks, Помогите :( 
:(
    Опции темы
Chodex
Дата 7.1.2010, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



Собственно, нужно работать с pop, imap, smtp через соксы. 
перерыл множество классов и расширений PEAR, ничего не нашел подобного...

Возможно ли? Использовал кто-нибудь?
PM MAIL WWW ICQ   Вверх
solenko
Дата 7.1.2010, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: нет
Всего: 67



А в мануал заглядывали? )
http://php.net/manual/en/book.imap.php


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Chodex
Дата 7.1.2010, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



Заглядывал, но что-то ни одного упоминания не встретил :( 
Стоит поподробнее рассмотреть? Или это догадка была?

Может быть есть готовая реализация на других скриптовых языках?

Это сообщение отредактировал(а) Chodex - 7.1.2010, 12:53
PM MAIL WWW ICQ   Вверх
solenko
Дата 7.1.2010, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: нет
Всего: 67



Догадка. Вернее я невнимательно прочитал вопрос. Но!
imap_open открывает straem. Т.к. самой функции нельзя указать контекст, то она должна исползовать default context. Соответственно, его можно настроить на использование proxy. Т.е. попробуйте заглянуть еще и сюда: http://www.php.net/manual/en/book.stream.php


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Reverent
  Дата 23.1.2010, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 30.5.2007

Репутация: нет
Всего: нет



Вот тебе код, как отправить через сокеты, с помощью SMTP почту.

Код

class Mail
{
public $ADDRESS;
public $PORT;
public $LOGIN;
public $PASSWORD;
public $SOCKET;

    
    
    function __construct($address, $login, $password, $port = 25)
    {
    $this->ADDRESS = $address;
    $this->PORT = $port;
    $this->LOGIN = $login;
    $this->PASSWORD = $password;
    }
    
    
    
    
    public function send($to, $subject, $message, $from = "")
    {
    $this->SOCKET = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    
        if ($this->SOCKET < 0)
        {
        $this->error('socket_create() failed: '.socket_strerror(socket_last_error()));
        }
        
    $result = socket_connect($this->SOCKET, $this->ADDRESS, $this->PORT);
    
        if ($result === false)
        {
        $this->error('socket_connect() failed: '.socket_strerror(socket_last_error()));
        }
    
    $this->read_smtp_answer($this->SOCKET);
    
    $this->write_smtp_response($this->SOCKET, 'EHLO '.$this->ADDRESS);
    $this->read_smtp_answer($this->SOCKET);
    
    $this->write_smtp_response($this->SOCKET, 'AUTH LOGIN');
    $this->read_smtp_answer($this->SOCKET);
    
    $this->write_smtp_response($this->SOCKET, base64_encode($this->LOGIN));
    $this->read_smtp_answer($this->SOCKET);
    
    $this->write_smtp_response($this->SOCKET, base64_encode($this->PASSWORD));
    $this->read_smtp_answer($this->SOCKET);
    
    $this->write_smtp_response($this->SOCKET, 'MAIL FROM:<'.$from.'>');
    $this->read_smtp_answer($this->SOCKET);
    
    $this->write_smtp_response($this->SOCKET, 'RCPT TO:<'.$to.'>');
    $this->read_smtp_answer($this->SOCKET);
    
    $this->write_smtp_response($this->SOCKET, 'DATA');
    $this->read_smtp_answer($this->SOCKET);
    
    $message = "To: $to\r\nSubject: $subject\r\nContent-type: text/html; charset=windows-1251\r\n".$message;
    $this->write_smtp_response($this->SOCKET, $message."\r\n.");
    $this->read_smtp_answer($this->SOCKET);
    
    $this->write_smtp_response($this->SOCKET, 'QUIT');
    $this->read_smtp_answer($this->SOCKET);
    }
    
    
    
    
    protected function error($mes)
    {
    echo $mes;
    exit;
    }
    
    
    
    
    protected function read_smtp_answer($socket)
    {
    $read = socket_read($socket, 1024);
       
        if ($read{0} != '2' && $read{0} != '3')
        {
            if(!empty($read))
            {
            $this->error('SMTP failed: '.$read."\n");
            }
            else
            {
            $this->error('Unknown error'."\n");
            }
        }
    }
    
    
    
    
    protected function write_smtp_response($socket, $msg)
    {
    $msg = $msg."\r\n";
    socket_write($socket, $msg, strlen($msg));
    }
    
    
    
    function __destruct()
    {
    socket_close($this->SOCKET);
    }
}


Может сможешь выделить с него и другие функции ;)!
PM MAIL   Вверх
Ипатьев
Дата 23.1.2010, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: нет
Всего: 37



Reverent, к сожалению, вы не поняли вопроса
про сокеты  речи не было
PM MAIL   Вверх
Resident
  Дата 16.12.2010, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 25.9.2006

Репутация: нет
Всего: 0



Тоже интересует вопрос. Вроде такое можно сделать через cURL, но как непонятно.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0651 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.