Подскажите кто-нибудь скрипт для отправки почты из формы, через удаленный Smtp сервер. Вроде бы все понятно, но как прописать сервер не заю.
Из какой именно формы приложени, веб формы? Отправка почты с атачем с использованием какой либо почтовой програмы, или отправка почты чтобы узер не видил ентого? Уточни плиз
to DONETSC: Да не обязательно с атачем, просто я не знаю как в коде должна выгледеть строчка с указанием сервера, пофиг что и куда слать. Просто я сейчас на бесплатном хосте, ну а там как обычно SMTP прикрыт из-за спамеров)))
заюзай скрипт для работы с smtp из библиотеки PEAR (http://pear.php.net/) или смотри это: http://php.net/mail там в примере есть, то что тебе нужно
может лучше использовать mail() вместо сокетов и удаленного смтп? Или Вы просто хотите чтобы за Вас все написали? Не прокатит. Давай в студию - что уже готово.
<?php class Mail { // создаем переменные, в которых хранится содержимое заголовков var $to = ''; var $from = ''; var $reply_to = ''; var $cc = ''; var $bcc = ''; var $subject = ''; var $msg = ''; var $validate_email = true; // проверяет допустимость почтовых адресов var $rigorous_email_check = true; // проверяет допустимость доменных имен по записям DNS var $allow_empty_subject = false; // допустимость пустого поля subject var $allow_empty_msg = false; // допустимость пустого поля msg var $headers = array(); /* массив $headers содержит все поля заголовка, кроме to и subject*/ function check_fields() /* метод, проверяющий, переданы ли все значения заголовков и проверку допустимости почтовых адресов */ { if(empty($this -> to)) { return false; } if(!$this -> allow_empty_subject && empty($this -> subject)) { return false; } if(!$this -> allow_empty_msg && empty($this -> msg)) { return false; } /* если есть дополнительные заголовки, помещаем их в массив $headers*/ if(!empty($this -> from)) { $this->headers[] = "From: $this -> from"; } if(!empty($this -> reply_to)) { $this -> headers[] = "Reply_to: $this -> reply_to"; } // проверяем допустимость почтового адреса if ($this -> validate_email) { if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $this -> to)) { return false; } return true; } } function send() /* метод отправки сообщения */ { if(!$this -> check_fields()) return true; if (mail($this -> to, htmlspecialchars( stripslashes(trim($this -> subject))), htmlspecialchars(stripslashes(trim($this -> msg))))) { return true; }else{ return false; } } } ?> Проверочный скрипт (senmail.php) <?php include("./mail_class.php"); $mail = new Mail(); $mail -> to = "[email protected]"; //сюда подставляется реальный адрес $mail -> subject = "test"; $mail -> msg = "testing..."; $mail -> msg = "testing..."; $mail -> rigorous_email_check = 0; if($mail->send()){ echo("Success"); }else{ echo("error"); } echo("<br>"); echo($mail -> msg); ?>