Вот что есть
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- function send_smtp($login, $pwd, $from,$to,$subject,$message){
- $address = 'mail.site.com.ua'; // адрес smtp-сервера
- $port = 25; // порт (стандартный smtp - 25)
- try {
- // Создаем сокет
- if ($socket < 0) {
- }
- // Соединяем сокет к серверу
- echo 'Connect to \''.$address.':'.$port.'\' ... ';
- if ($result === false) {
- } else {
- echo "OK\n";
- }
- // Читаем информацию о сервере
- read_smtp_answer($socket);
- // Приветствуем сервер
- write_smtp_response($socket, 'EHLO '.$login);
- read_smtp_answer($socket); // ответ сервера
- echo 'Authentication ... ';
- // Делаем запрос авторизации
- write_smtp_response($socket, 'AUTH LOGIN');
- read_smtp_answer($socket); // ответ сервера
- // Отравляем логин
- read_smtp_answer($socket); // ответ сервера
- // Отравляем пароль
- read_smtp_answer($socket); // ответ сервера
- echo "OK\n";
- echo "Check sender address ... ";
- // Задаем адрес отправителя
- write_smtp_response($socket, 'MAIL FROM:<'.$from.'>');
- read_smtp_answer($socket); // ответ сервера
- echo "OK\n";
- echo "Check recipient address ... ";
- // Задаем адрес получателя
- write_smtp_response($socket, 'RCPT TO:<'.$to.'>');
- read_smtp_answer($socket); // ответ сервера
- echo "OK\n";
- echo "Send message text ... ";
- // Готовим сервер к приему данных
- 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); // ответ сервера
- echo "OK\n";
- echo 'Close connection ... ';
- // Отсоединяемся от сервера
- write_smtp_response($socket, 'QUIT');
- read_smtp_answer($socket); // ответ сервера
- echo "OK\n";
- } catch (Exception $e) {
- echo "\nError: ".$e->getMessage();
- }
- }
- }
- // Функция для чтения ответа сервера. Выбрасывает исключение в случае ошибки
- function read_smtp_answer($socket) {
- if ($read{0} != '2' && $read{0} != '3') {
- throw new Exception('SMTP failed: '.$read."\n");
- } else {
- throw new Exception('Unknown error'."\n");
- }
- }
- }
- // Функция для отправки запроса серверу
- function write_smtp_response($socket, $msg) {
- $msg = $msg."\r\n";
- }