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

Форум PHP

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

 

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

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

тема: ошибка SMTP
 
 автор: elenaki   (07.03.2006 в 10:51)   письмо автору
 
 

Warning: mail(): SMTP server response: 503 This mail server requires authentication when attempting to send to a non-local e-mail address. Please check your mail client settings or contact your administrator to verify that the domain or address is defined for this server. in ....\register_acc.php on line 42


вот такую ошибку мне выдает при попытке послать письмо. кто виноват?
сервер - Windows NT, PHP - как CGI - 4.3.8.

   
 
 автор: kasmanaft   (07.03.2006 в 11:08)   письмо автору
 
   для: elenaki   (07.03.2006 в 10:51)
 

говорит что нужно авторизоваться перед тем, как послать письмо не на локальный адрес.

   
 
 автор: elenaki   (07.03.2006 в 11:25)   письмо автору
 
   для: kasmanaft   (07.03.2006 в 11:08)
 

это я поняла. где и что надо настроить, что не требовал авторизации?

   
 
 автор: Trianon   (07.03.2006 в 12:08)   письмо автору
 
   для: elenaki   (07.03.2006 в 11:25)
 

А Вы можете управлять настройками SMTP-сервера, к которому идет обращение?

   
 
 автор: elenaki   (07.03.2006 в 12:10)   письмо автору
 
   для: Trianon   (07.03.2006 в 12:08)
 

не могу. просто мой клиент слабо в этом разбирается. а он - сам себе хостер :)

   
 
 автор: Trianon   (07.03.2006 в 13:28)   письмо автору
 
   для: elenaki   (07.03.2006 в 12:10)
 

А SMTP-сервер принадлежит этому хостеру? Или вообще чужой?
Вообще-то, сисадмин может ведь и не согласиться открывать SMTP-сервер для неавторизованной рассылки писем... И даже в чем-то где-то будет прав...

   
 
 автор: glsv   (07.03.2006 в 13:34)
 
   для: elenaki   (07.03.2006 в 10:51)
 

Это SMTP сервер так от спама защищается. Перед отправкой письма необходимо пройти smtp-авторизацию.

   
 
 автор: elenaki   (07.03.2006 в 19:19)   письмо автору
 
   для: glsv   (07.03.2006 в 13:34)
 

а как ее проходить? только что клиент ответил, что он меня предупреждал об этом. можно подумать, я помню, о чем он говорил полгода назад!

что же делать-то с этой авторизацией? может, еще какие-то данные нужны? пароли там или имена... понятия не имею.

стесняюсь спросить - только через IMAP?

   
 
 автор: Trianon   (07.03.2006 в 19:50)   письмо автору
 
   для: elenaki   (07.03.2006 в 19:19)
 

Обычно для исходящих наружу писем SMTP-сервер проверяет, что письмо пытается передать тот самый пользователь, адрес которого помещен в MAIL FROM . Для этого нужно знать логин и пароль этого пользователя. Придется реализовать RFC-2554, а значит и RFC-2222 (клиентскую сторону)
http://www.faqs.org/rfcs/rfc2554.html

В общем, противное это занятие.

   
 
 автор: elenaki   (07.03.2006 в 19:53)   письмо автору
 
   для: Trianon   (07.03.2006 в 19:50)
 

ой как все сложно. :(
а если у него на сервере напрочь отсутствует такая строка - '--with-imap-ssl=/usr/local/ssl'
это значит, функция IMAP не установлена?
у него РНР как cgi.

   
 
 автор: Trianon   (07.03.2006 в 19:56)   письмо автору
 
   для: elenaki   (07.03.2006 в 19:53)
 

А IMAP тут ни при чем. У них просто методы аутентификации схожие. Сам по себе он не требуется.

   
 
 автор: elenaki   (08.03.2006 в 11:40)   письмо автору
 
   для: Trianon   (07.03.2006 в 19:50)
 

Обычно для исходящих наружу писем SMTP-сервер проверяет, что письмо пытается передать тот самый пользователь, адрес которого помещен в MAIL FROM .
===========================================

задача была такая:
1. регистрация юзеров на сайте (требуется посылка e-mail админу и юзеру для активации)
2. напоминание забытых паролей (требуется посылка e-mail юзеру)
3. система заказов, урезанный e-shop (требуется посылка e-mail админу и юзеру)

где и как SMTP будет сличать "того самого пользователя"?
ведь только админский адрес для всех одинаковый, остальные - юзерские.
получается, что с этой SMTP-авторизацией чужой не может послать е-mail с сайта?
получается, вся работа насмарку?

   
 
 автор: Trianon   (08.03.2006 в 20:04)   письмо автору
 
   для: elenaki   (08.03.2006 в 11:40)
 

Тогда получается что у Вас нет кучи пользователей, каждый из которых сам хочет слать письма, от собственного адреса.
Если я правильно понял, то во всех трех случаях отправителем является этот самый ешоп, у которого адрес постоянный (например, если адрес этого портала http://domain.com то адрес е-мэйл - e-shop@domain.com) и IP тоже постоянный (и весьма вероятно - localhost) . Тогда надо говорить с админом, чтоб тот разрешил отправлять письма единственному адресу с единственного IP, безо всякой дополнительной авторизации. . По-моему, так.


PS
По п.2. Надеюсь все же, не напоминание забытых, а отправка свежесгенерированных. Негоже чужие пароли хранить. Опять же, чего не хранишь - то не украдут.

   
 
 автор: elenaki   (13.03.2006 в 13:22)   письмо автору
 
   для: Trianon   (08.03.2006 в 20:04)
 

а вот здесь http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=84&page=1вроде все гораздо проще. почему мне это не советуют? только непонятно, а где же авторизация? куда пароли-то вставлять? которые мне, кстати, клиент еще не прислал...

попробовала. с yandex' ом скрипт соединяться не хочет. с сервером клиента - не может. ругается, что времени ему не хватает. установила max_execution_time побольше, ответ от сервера:
The specified CGI application exceeded the allowed time for processing. The server has deleted the process.

   
 
 автор: Trianon   (13.03.2006 в 14:23)   письмо автору
 
   для: elenaki   (13.03.2006 в 13:22)
 

Там описан пример простой сеанс с SMTP-сервером, который не требует авторизации.
Причем в этом примере никак не проверяются отклики сервера, а считается что никаких ошибок нет, и быть не может. Отсюда и проблемы при работе в обоих Ваших случаях. Сервер в ответ на неподходящий запрос давно отстрелялся руганью, а PHP-скрипт всё еще чего-то ждет..... ждет.... Хлоп! таймаут.

Из-за лавинообразного роста спам-трафика серверов, которые не требуют авторизации, становится всё меньше и меньше. Так что пример этот потихонечку устаревает.

   
 
 автор: XPraptor   (13.03.2006 в 14:38)   письмо автору
 
   для: Trianon   (13.03.2006 в 14:23)
 

elenaki, объясните пожалуйста конкретнее задачу. Что-то мне подсказывает, что это не ваш сервер вам отвечает о необходимости авторизации.
Если это ваш сервер не отвечает, то вы можете воспользоваться кодом, который я тут выкладывал в теме (она называлась реальная проверка e-mail) для проверки валидности адреса. Там скрипт делает реальную попытку отправки через сокеты на указанный адрес, только в последний момент не отправляет письмо а говорит досвидания и выходит.
Авторизации там нет, но вы добавлением пару строк в код можете ее организовать.
Эти строки:
"User: " . base64_encode($username) . "\r\n";
"Password: " . base64_encode($userpassword) . "\r\n";
Это и есть отправка через сокет авторизационных данных SMTP серверу.

   
 
 автор: elenaki   (13.03.2006 в 14:44)   письмо автору
 
   для: XPraptor   (13.03.2006 в 14:38)
 

задача была такая:
1. регистрация юзеров на сайте (требуется посылка e-mail админу с сообщением о новом юзере и юзеру с линком на активацию аккаунта на указанный юзером адрес)
2. напоминание забытых паролей (если юзер забыл пароль, есть форма посылки ему пароля на указанный им адрес, клиент так хочет, переделывать не буду.)
3. система заказов, урезанный e-shop (после выбора определенных опций, юзер нажимает "Завершить заказ" и письмо с заказом должно уйти к админу и к юзеру )

все уже готово, только посылка писем не получается. к тому же клиент до сих пор не дал
логин и пароль для авторизации, как в таких условиях тестироваться?

   
 
 автор: XPraptor   (13.03.2006 в 15:01)   письмо автору
 
   для: elenaki   (13.03.2006 в 14:44)
 

Вот приатачил полный класс для отправки мылов и с атачами и без и как хочешь.
Вот пример простого использования:


$mail = new mime_mail(SMTP_RELAY_CLIENT, "mail.ru"); //тут домен от которого отправляются мыла
$mail->auth('тут username ящика', 'тут пароль ящика', AUTH_DETECT, SSL_FALSE, 25);
$mail->from("admin@mail.ru", "Admin mail.ru");
unset($ar_headers);
$ar_headers["Reply-To"] = "admin@mail.ru";
$ar_headers["Errors-To"] = "admin@mail.ru";
$mail->headers($ar_headers);
$mailto="Александр <info01@interess.ru>";
$mail_subject="Новости подписчику порала www.mail.ru";
$plain_text="Здравствуйте уважаемый подписчик!";
$send=$mail->send($mailto, $mail_subject, $plain_text);

   
 
 автор: elenaki   (13.03.2006 в 15:29)   письмо автору
 
   для: XPraptor   (13.03.2006 в 15:01)
 

Warning: exec(): Unable to fork [nslookup -type=mx ... сервер] in mime_mail.php on line 939

у них нет там МХ записи???

   
 
 автор: XPraptor   (13.03.2006 в 15:36)   письмо автору
 
   для: elenaki   (13.03.2006 в 15:29)
 

Нет, это тебе виндовый сервер говорит, что не может определить mx-запись куда отправлять мыло, потому как нет доступа к инету и ДНС-ам. Когда реальный появится сервер который может отправить письмо - у нег овсе ок будет.

   
 
 автор: XPraptor   (13.03.2006 в 15:40)   письмо автору
 
   для: XPraptor   (13.03.2006 в 15:36)
 

Кстати, если отправляешь письма не через удаленный свой сервер а с локального хоста, то замени в конекте константу
SMTP_CLIENT_RELAY на SMTP_LOCAL_CLIENT.

   
 
 автор: elenaki   (13.03.2006 в 15:54)   письмо автору
 
   для: XPraptor   (13.03.2006 в 15:40)
 

с локального у меня все уходит (не через SMTP). проблема в сервере клиента.

   
 
 автор: XPraptor   (13.03.2006 в 16:08)   письмо автору
 
   для: elenaki   (13.03.2006 в 15:54)
 

Я тебе про это и толкую.
Если допустим ты отправляешь от своего сервера, который на компе у тебя стоит (например MDeamon) то ты ставишь SMTP_LOCAL_CLIENT.
А если отправляешь например через rambler.ru со своего компа из кода, то ставишь SMTP_CLIENT_RELAY.
Кстати порты проверь, по умолчанию 25 используется, но может у тебя какой портмаппинг есть.

   
 
 автор: Trianon   (14.03.2006 в 17:59)   письмо автору
 
   для: XPraptor   (13.03.2006 в 14:38)
 

И вправду, не так страшен черт, как его малюют.
Поглядел я этот скрипт внимательно. Действительно весь диалог с SMTP отличается тремя строчками. Я даже проверил на своем местном почтовике, который у меня авторизацию просит. Работает.

<?
send
("EHLO $server_name");
send("AUTH LOGIN");
send(base64_encode($user_login));
send(base64_encode($user_password));
send("MAIL FROM: $from_email");
send("RCPT TO: $to_email");
send("DATA");
send(""
         
."From: $from_email\r\n"
         
."To: $to_email\r\n"
         
."Date: $date\r\n"
         
."Subject: $Subject\r\n"
         
............
         .
"\r\n"
         
."$message_body\r\n"
         
.".\r\n");
send("QUIT");
?>

elenaki, у Вас получилось отправить письмо? Или хостер так паролей и не соообщил?

   
 
 автор: elenaki   (14.03.2006 в 19:12)   письмо автору
 
   для: Trianon   (14.03.2006 в 17:59)
 

нет пока. жду. до конца этой недели мы должны с ним закончить. как получится, напишу.

   
 
 автор: elenaki   (14.03.2006 в 21:11)   письмо автору
 
   для: Trianon   (14.03.2006 в 17:59)
 

не получается :(

клиент прислал пароль, адрес почты (говорит, что это и есть username. точно? прям целиком адрес или только до собачки?) и pop3 и smtp - это и есть имя сервера?

подставила в тот скрипт, что мне прикрепили (несколькими постами выше), ругается:
Warning: exec(): Unable to fork [nslookup -type=mx .... как и раньше (fork - значит "разветвляться", он не может разветвиться?) в строке 939, на которую он ссылается:
$retstr = exec('nslookup -type=mx '.$hostname, $retarr);

а в этом скрипте:

<? 
send
("EHLO $server_name"); 
send("AUTH LOGIN"); 
send(base64_encode($user_login)); 
send(base64_encode($user_password)); 
send("MAIL FROM: $from_email"); 
send("RCPT TO: $to_email"); 
send("DATA"); 
send("" 
         
."From: $from_email\r\n" 
         
."To: $to_email\r\n" 
         
."Date: $date\r\n" 
         
."Subject: $Subject\r\n" 
         
............ 
         .
"\r\n" 
         
."$message_body\r\n" 
         
.".\r\n"); 
send("QUIT"); 
?> 


я не понимаю, откуда берется функция send. скрипт тоже не понимает и ругается. подозреваю, что надо как-то прицепить и тот большой скрипт, что в аттаче. но простым инклудом не получается. ругается, что время кончилось.

в этот скрипт (который без авторизации), я не знаю как воткнуть две строчки с авторизацией:


<?php 
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 login
fputs($fp, "User: ".base64_encode("username"). "\r\n"); 
/////// send pass
fputs($fp, "Password: ".base64_encode("password"). "\r\n"); 


говорит, что нет такой переменной buff. на Connection failed не ругается, значит, подключается к серверу? но ответ прочитать не может :(

   
 
 автор: Trianon   (14.03.2006 в 21:25)   письмо автору
 
   для: elenaki   (14.03.2006 в 21:11)
 

попробуйте так.
<?
    fputs
($fp,"EHLO $server\n");     // приветствуем сервер
    
fputs($fp,"AUTH LOGIN\n");     // посылаем запрос авторизации
    
fputs($fp,base64_encode("username")."\n");     // посылаем логин
    
fputs($fp,base64_encode("password")."\n");     // посылаем пароль
    
fputs($fp,"MAIL FROM: $from\n");     // посылаем поле FROM 
    
fputs($fp,"RCPT TO: $to\n"); // посылаем поле TO 
// и далее уже по старому коду 
?>

Но...

   
 
 автор: elenaki   (14.03.2006 в 21:31)   письмо автору
 
   для: Trianon   (14.03.2006 в 21:25)
 

тоже самое и на EHLO:

Notice: Undefined variable: buff in C:\..... on line 31

Fatal error: Maximum execution time of 30 seconds exceeded in C:\....


у них windows-server, это что-то меняет?

   
 
 автор: Trianon   (14.03.2006 в 21:34)   письмо автору
 
   для: elenaki   (14.03.2006 в 21:31)
 

$buff = fgets(..) это и есть попытка подобрать все ответы сервера.
Но довольно кривая, поэтому скрипт и виснет.

   
 
 автор: Trianon   (14.03.2006 в 21:55)   письмо автору
 
   для: elenaki   (14.03.2006 в 21:31)
 


<?php
define
('DEBUG'true); // выводить диалог с SMTP-сервером 

function send($fs$data ='')
{
  if(
$data !== 0)
  {
    if(
constant('DEBUG'))
        echo 
'send: '.$data"<br>\r\n";
    
fwrite($fs$data."\r\n");
  }
}
function 
send_rcv($fs$data ='')
{
  
send($fs$data);
  if(
feof($fs))
     return 
false;
  
$r '';
  while((
$n fgets($fs)) !== false)
  {
  if(
constant('DEBUG'))
        echo 
'recv: '.$n"<br>\r\n";
   
$r .= $n;
   if(
$n{3} == ' ')
       break;
  }

  return 
$r;
}

function 
send_mail($server_name$login$passwd,
$from_name$from_addr,
$to_name$to_addr$subject$body )
{
   
$fs fsockopen($server_name25);
    
send_rcv($fs,0);
    
send_rcv($fs,"EHLO $server_name");
    
send_rcv($fs,"AUTH LOGIN");
    
send_rcv($fs,base64_encode($login));
    
send_rcv($fs,base64_encode($passwd));
    
send_rcv($fs,"MAIL FROM: $from_addr");
    
send_rcv($fs,"RCPT TO: $to_addr");
    
send_rcv($fs,"DATA");
    
send($fs,"From: $from_name <$from_addr>");
    
send($fs,"To: $to_name <$to_addr>");
    
send($fs,"Subject: $subject");
    
send($fs,"");
    
send($fs,$body);
    
send_rcv($fs,".");
    
send_rcv($fs,"QUIT");
}

   
 
 автор: Trianon   (14.03.2006 в 21:29)   письмо автору
 
   для: elenaki   (14.03.2006 в 21:11)
 

Но учтите, что на каждую реплику этого диалога сервер отвечает. И в принципе неплохо слушать эти ответы. И видеть их хотя бы на этапе отладки.
Собственно модуль, который ругается про форк (форк в данном контексте значит "выполнить" ) именно этим и занимается. Он не только говорит серверу , но и слушает его.

А функция send - это моя функция, которой я тестировал этот диалог. Сейчас я попробую её причесать и показать в приемлемом (ну хотя бы для отладки) виде.

   
 
 автор: Trianon   (14.03.2006 в 22:15)   письмо автору
 
   для: elenaki   (14.03.2006 в 21:11)
 

>клиент прислал пароль, адрес почты (говорит, что это и есть username. точно?
>прям целиком адрес или только до собачки?)
Вполне может быть что и целиком. Я с такими сталкивался.
>и pop3 и smtp - это и есть имя сервера?
Это могут быть имена серверов. Нас интересует smtp.
<?
send_mail
'smtp''my@addres.com''Пассворд'
 
'Me''my@addres.com''You''your@address.com',
 
'Subject','' 
."Body\r\n"
."Body!\r\n"
."Body!!\r\n"
."Body!!!\r\n");
?>

   
 
 автор: elenaki   (14.03.2006 в 22:32)   письмо автору
 
   для: Trianon   (14.03.2006 в 22:15)
 

Invalid Username or Password :(
завтра поубиваю клиента....
спасибо, что столько возились со мной.

   
 
 автор: Trianon   (14.03.2006 в 22:36)   письмо автору
 
   для: elenaki   (14.03.2006 в 22:32)
 

Попробуйте логином сделать адрес до собачки. Может, прокатит.
PS. Клиента нужно не убивать, а холить, лелеять и растить. Тогда он периодически будет отсыпать денежек. :)

   
 
 автор: elenaki   (14.03.2006 в 22:51)   письмо автору
 
   для: Trianon   (14.03.2006 в 22:36)
 

Body
Body!
Body!!
Body!!!


получилось! пришло письмо :) клиента убивать не придется, сама виновата, в одном месте не исправила...
большое человеческое спасибо. размеры моей благодарности будут безграничны в пределах разумного :)))

   
 
 автор: Trianon   (14.03.2006 в 22:57)   письмо автору
 
   для: elenaki   (14.03.2006 в 22:51)
 

Между прочим, там два отклика от сервера должны быть в виде нечитаемого набора букв. После AUTH LOGIN и после отправки самого логина. Попробуйте ради интереса их из base64_decode поглядеть. Я долго смеялся, когда увидел. :)

>body!
Nude?

   
 
 автор: elenaki   (14.03.2006 в 23:00)   письмо автору
 
   для: Trianon   (14.03.2006 в 22:57)
 

надеюсь, они поменяют пароли после тестирования скрипта. :)

   
 
 автор: Trianon   (14.03.2006 в 23:04)   письмо автору
 
   для: elenaki   (14.03.2006 в 23:00)
 

Это не пароли. Это подсказки для ввода. Так вот романтично. И сервер и клиент внезапно переходят на язык base64. Но внутри него говорят обычными человеческими фразами.

   
 
 автор: Trianon   (14.03.2006 в 22:43)   письмо автору
 
   для: elenaki   (14.03.2006 в 22:32)
 

И еще. Я хотел бы подчеркнуть, эти три функции, которые я написал - они не полноценный инструмент. Да, они шлют письма, они показывают отклики сервера. Но они его никак не анализируют. Произойдет ошибка - они даже не заметят. Они и написаны были, только чтоб показать сам диалог - не более того.

   
 
 автор: XPraptor   (15.03.2006 в 13:59)   письмо автору
 
   для: Trianon   (14.03.2006 в 22:43)
 

Именно так Trianon :-)).
Я привел скрипт только для проверки мыла, и если какие ошибки, то считаем что мыла нет.
Но потом доработал и сам использую полностью контролируемый скрипт, который анализирует что отвечает сервер не только свой но и клиентский куда шлем мыло.

   
 
 автор: elenaki   (28.03.2006 в 11:57)   письмо автору
 
   для: XPraptor   (15.03.2006 в 13:59)
 

мне нужно, чтобы письмо отправлялось в виде HTML. в простой функции mail я бы подставила
это:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";


подставляю в вашей функции что-то похожее (т.к. порядка не знаю, ставлю после subject):
send($fs,"Subject: $subject");
send($fs,"MIME-Version: 1.0\r\n");
send($fs,"Content-Type: text/html; charset=windows-1253\n");

на одну почту письмо приходит с заголовком text/html, но ссылки в нем мертвые, а на
другой почтe заголовок меняется на text/plain!

   
 
 автор: Trianon   (28.03.2006 в 12:11)   письмо автору
 
   для: elenaki   (28.03.2006 в 11:57)
 

После сабжекта пропущен CRLF - в результате поле MIME-version подклеилось к строке темы письма и исчезло; и поле Content-Type (а это поле стандарта MIME) честно проигнорировано тем сервером, который более въедлив.
Еще после типа кодировки (1253 - это не опечатка, кстати?) стоит LF а не CRLF. Нехорошо. :)

Порядок полей в заголовке письма несущественен.

Мертвые ссылки - это несколько другая проблема.
Т.к. не видно ни одной ссылки - посоветовать нечего.

   
 
 автор: elenaki   (28.03.2006 в 12:14)   письмо автору
 
   для: Trianon   (28.03.2006 в 12:11)
 

Еще после типа кодировки (1253 - это не опечатка, кстати?)
=================================================
это не опечатка. я в Греции живу и письма у меня ходят в греческой кодировке. сейчас буду
исправлять переводы строк.

   
 
 автор: elenaki   (28.03.2006 в 12:52)   письмо автору
 
   для: elenaki   (28.03.2006 в 12:14)
 

ура! ссылки "ожили" и в привередливой почте тоже. но теперь в первых строках сообщения
вылезает это:
MIME-Version: 1.0
Content-Type: text/html; charset=windows-1253


мне это не сильно мешает, но может как-то убрать можно? это ведь служебная информация.

   
 
 автор: Trianon   (28.03.2006 в 13:08)   письмо автору
 
   для: elenaki   (28.03.2006 в 12:52)
 

Это очень плохо. Это значит, что до этой строки проскочил лишний CRLF, который образовал пустую строку. (Пустая строка отделяет заголовок с полями от собственно сообщения.) Соответственно, ни MIME-version, ни Content-type в заголовок не попали.

   
 
 автор: airr@pochta.ru   (08.06.2006 в 16:38)   письмо автору
 
   для: Trianon   (28.03.2006 в 13:08)
 

Доброго времени суток.
В продолжение темы....
Сервер пишет:
Warning: mail(): SMTP server response: 503 5.5.0 Sender already specified 550 5.7.1 Relaying to <mail@mail.ru> denied (authentication required) in 215 ....
Это говорится при рассылке писем.
Но пользователь может отправлять письма с сайта, хотя и не всегда.
Ведь если для отправки письма нужна аутентификация на сервере, ведь ни одно письмо с сайта не уйдет? Что делать? Как быть?

С уважением, airr

   
 
 автор: cheops   (08.06.2006 в 16:51)   письмо автору
 
   для: airr@pochta.ru   (08.06.2006 в 16:38)
 

Давайте новую тему заведём - эта уже слишком длинная.

   
 
 автор: airr@pochta.ru   (08.06.2006 в 16:50)   письмо автору
 
   для: Trianon   (28.03.2006 в 13:08)
 

Или говорит,
Warning: mail(): Failed to connect to mailserver at "serv" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\wwwroot\site\1.php on line ...

   
Rambler's Top100
вверх

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