Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: отправка сообщения используя SMTP хоста??
 
 автор: Alex Boxgorn   (24.11.2005 в 18:00)   письмо автору
 
 

Привет Всем!! Есть ситуация и не знаю как ее решить. Суть в следующем.
На хосте закрыть рилей и открывать его не хотят из-за соображений безопасности. Получается с сайта я не могу слать функцией PHP - MAIL(). Но мне дают логин и пароль чтобы можно было отправлять сообщения с сайта через SMTP. Как это можно реализовать? Такого честно говоря не делал ни разу, да и примеров таких не видел.
Спасибо заранее за помощь!!

   
 
 автор: goddamn   (24.11.2005 в 18:33)   письмо автору
 
   для: Alex Boxgorn   (24.11.2005 в 18:00)
 

ну приведтся тогда изучить вот это http://www.faqs.org/rfcs/rfc788.html...
потом что-то типа такого

$smtp = fsockopen($host, 25); 
$answer = fgets($smtp,512); // ответ сервера
fputs($smtp,$command."\n");
и т.д.

и т.д.
я так делал для проверки почты по pop3

   
 
 автор: Alex Boxgorn   (24.11.2005 в 18:59)   письмо автору
 
   для: goddamn   (24.11.2005 в 18:33)
 

Я воспользовался вот этим

<?
function send_mail($server$to$from$subject=""$headers="")
{
    
// формируем заголовок
    
$headers="To: $to\nFrom: $from\nSubject: $subject\nX-Mailer:
   MyMail!\n
$headers";
    
$fp fsockopen($server25, &$errno, &$errstr30); // соединяемся    с нужным сервером по 25 порту
    
if (!$fp)
    {
        
// если соединение не удалось - возвращаем код ошибки
        
echo("Connection failed: $errno$errstr");
    }
    
// приветствуем сервер
    
fputs($fp,"HELO $server\n");
    
// посылаем поле FROM
    
fputs($fp,"MAIL FROM: $from\n");
    
// посылаем поле TO
    
fputs($fp,"RCPT TO: $to\n");
    
// посылаем поле DATA
    
fputs($fp,"DATA\n");
    
fputs($fp,$headers);
    
// дисконнектимся
    
fputs($fp,"\n.\nQUIT\n");
    unset(
$buff);
    while(!
feof($fp)){
      
$buff.=fgets($fp,1024);
    }
    
fclose($fp);
}
send_mail('mx9.yandex.ru''ngs54@yandex.ru''ttt@softtime.ru''Hello!');
?>

запустил этот файл sendy.php с хоста.
и от хоста получил следующее

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of fsockopen(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in C:\Inetpub\Sites\011\sendy.php on line 7 Parse error: parse error in C:\Inetpub\Sites\011\sendy.php on line 30

что бы это значило? Строка 30 это SEND_MAIL.....

и что-то в коде я не увидел не логина ни пароля для аутентификации на SMTP.

   
 
 автор: goddamn   (24.11.2005 в 19:13)   письмо автору
 
   для: Alex Boxgorn   (24.11.2005 в 18:59)
 

function send_mail($server, $to, $from, $subject) {....}

еще было бы неплохо видеть ответы сервера на команды.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования