Контакты

Достижения

Все достижения (6)

Наибольший вклад в теги

Все теги (21)

Лучшие ответы пользователя

Все ответы (14)
  • SMTP Пример, простой отправки письма!?

    Вот тебе функция отправки письма через SMTP:

    <?php
    /**
    * smtp_mail() - Отправка электронной почты с авторизацией через SMTP сервер
    * v1.0.0
    *
    * smtp_read(); smtp_write() - вторичные
    * Подключаемая пользовательская функция для отправки сообщений по электронной почте 
    * с использованием аутентификации пользователя на почтовом сервере SMTP.
    * Рекомендуется использовать в том случае, если стандартная функция mail()
    * на хостинге работает неправильно или с ошибками. Данная функция корректно 
    * работает на PHP 4 и выше с установленным модулем расширения php_sockets
    * 
    *
    * http://koks-host.ru
    * Оригинальная кодировка UTF-8
    */
    
    function smtp_mail ($smtp,			// SMTP-сервер
    					$port,			// порт SMTP-сервера
    					$login,			// имя пользователя для доступа к почтовому ящику
    					$password, 		// пароль для доступа к почтовому ящику
    					$from,			// адрес электронной почты отправителя
    					$from_name,		// имя отправителя
    					$to, 			// адрес электронной почты получателя
    					$subject, 		// тема сообщения
    					$message,		// текст сообщения
    					$res)			// сообщение, выводимое при успешной отправке
    {	
    
    //    header('Content-Type: text/plain;');	// необязательный параметр, особенно если включаем через include()
    //    error_reporting(E_ALL ^ E_WARNING);	// необязательный параметр, включает отображение всех ошибок и предупреждений
    //    ob_implicit_flush();					// необязательный параметр, включает неявную очистку
    
    //    блок для других кодировок, отличных от UTF-8
    //    $message = iconv("UTF-8","KOI8-R",$message); // конвертируем в koi8-r
    //    $message = "Content-Type: text/plain; charset=\"koi8-r\"\r\nContent-Transfer-Encoding: 8bit\r\n\r\n".$message; // конвертируем в koi8-r
    //    $subject=base64_encode(iconv("UTF-8","KOI8-R",$subject)); // конвертируем в koi8-r
    //    $subject=base64_encode($subject); // конвертируем в koi8-r
    
    	$from_name = base64_encode($from_name);
    	$subject = base64_encode($subject);
    	$message = base64_encode($message);
        $message = "Content-Type: text/plain; charset=\"utf-8\"\r\nContent-Transfer-Encoding: base64\r\nUser-Agent: Koks Host Mail Robot\r\nMIME-Version: 1.0\r\n\r\n".$message;
        $subject="=?utf-8?B?{$subject}?=";
        $from_name="=?utf-8?B?{$from_name}?=";
    
        try {
            
            $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
            if ($socket < 0) {
                throw new Exception('socket_create() failed: '.socket_strerror(socket_last_error())."\n");
            }
    
            $result = socket_connect($socket, $smtp, $port);
            if ($result === false) {
                throw new Exception('socket_connect() failed: '.socket_strerror(socket_last_error())."\n");
            } 
    
            smtp_read($socket);
            
            smtp_write($socket, 'EHLO '.$login);
            smtp_read($socket); 
            smtp_write($socket, 'AUTH LOGIN');
            smtp_read($socket);        
            smtp_write($socket, base64_encode($login));
            smtp_read($socket);
            smtp_write($socket, base64_encode($password));
            smtp_read($socket); 
            smtp_write($socket, 'MAIL FROM:<'.$from.'>');
            smtp_read($socket); 
            smtp_write($socket, 'RCPT TO:<'.$to.'>');
            smtp_read($socket); 
            smtp_write($socket, 'DATA');
            smtp_read($socket); 
            $message = "FROM:".$from_name."<".$from.">\r\n".$message; 
            $message = "To: $to\r\n".$message; 
            $message = "Subject: $subject\r\n".$message;
    
    	date_default_timezone_set('UTC');
    	$utc = date('r');
    
            $message = "Date: $utc\r\n".$message;
            smtp_write($socket, $message."\r\n.");
            smtp_read($socket); 
            smtp_write($socket, 'QUIT');
            smtp_read($socket); 
            return $res;
            
        } catch (Exception $e) {
            echo "\nError: ".$e->getMessage();
        }
    
       
        if (isset($socket)) {
            socket_close($socket);
        }
    }
    
    function smtp_read($socket) {
    	$read = socket_read($socket, 1024);
            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 smtp_write($socket, $msg) {
    	$msg = $msg."\r\n";
    	socket_write($socket, $msg, strlen($msg));
    }
    
    ?>


    Думаю поймешь как использовать.
    Ответ написан
  • Как сделать эту форму адаптивной?

    .form-bg { background:#FFF; width: 100%; height: 490px; float: none; margin-top: 10px; border-radius: 10px;}
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (16)