Forum Webscript.Ru
		Программирование => PHP => Тема начата: Viking от 22 Ноября 2002, 00:01:47
		
			
			- 
				Задумал я повесить магазинчик на h1. Вообщем все получилось не очень хорошо, но получилось. (Больно секса со всей системой было много: проги всякие типа putty). Ну в общем кто работал с ним поймет……
 
 И вот пред самым финалом вскрылся весьма поганенький факт !!!
 
 Попытка послать письмо через скрипт гибла на корню. Я б конечно плюнул на все, но после всех битв с этой системой, отступать как то не очень. Ведь все прошел (ну почти…. Один раз светился здесь, по поводу одной проблемки).
 
 Может кто кинет взгляд профессионала на скрипт ???
 
 (SSL я выключил
 
 
 // куча не нужного кода...
 
 
 Хотя может быть сдесь есть простое решение......
- 
				Попытка послать письмо через скрипт гибла на корню 
 А в чем это выражалось?
- 
				кому нужен магазин, который не может себе заработать 5 баксов на хостинг?
 
 Впрочем, искатели на грош пятаков в этой стране неистребимы.
- 
				Насколько я помню, sendmail на h1 включается по запросу пользователя и не всегда.
			
- 
				Да ладно...... 
 У них так быстро работет тех.поддержа...........
 Скорее я состарюсь....
- 
				SendMail у них всегда работает. А вот mail() нет. Разницу обяъснять, наверное, не надо.
			
- 
				Вообще то я не знал что такое sendmail (mail всегда работал да и сам я только учусь PHP)
 
 Но примерно какая задумка получилась …..
 
 Старый вариант
 
 
 $location = \' : \' . NAVBAR_TITLE . \'\'; ?>
 
 if ($HTTP_GET_VARS[\'action\'] == \'send\') {
 mail(STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $HTTP_POST_VARS[\'enquiry\'], "From: " . $HTTP_POST_VARS[\'name\'] . \' <\' . $HTTP_POST_VARS[\'email\'] . \'>\');
 Header(\'Location: \' . tep_href_link(FILENAME_CONTACT_US, \'action=success\', \'NONSSL\'));
 tep_exit();
 }
 ?>
 
 Вот так было….. А если вот так
 
 $location = \' : \' . NAVBAR_TITLE . \'\'; ?>
 
 if ($HTTP_GET_VARS[\'action\'] == \'send\') {
 mailfly.cgi
 Header(\'Location: \' . tep_href_link(FILENAME_CONTACT_US, \'action=success\', \'NONSSL\'));
 tep_exit();
 }
 ?>
 
 А вот и этот гаденыш mailfly.cgi
 
 open SENDMAIL, "|/usr/sbin/sendmail -t ";
 print SENDMAIL "Content-Type: text/html; charset=Windows-1251\\n\\n";
 print SENDMAIL <<"EOF";
 From: $HTTP_POST_VARS
 To: $STORE_OWNER_EMAIL_ADDRESS
 Subject: EMAIL_SUBJECT
 $HTTP_POST_VARS
 EOF
 close SENDMAIL;
 
 Ну как будет воркать , аль нет….
- 
				Блин....уже два дня мучаюсь с этой майлой.... Письмо идут тока куда....Зашел на ФТПшку а там развал етого добра...
 
 Гугль все ссылки дает на разные хостинги ( развелось же).
 
 Делал поиск по форуму.... Почти все ссылки не рабочие......
 
 Кто нибудь может просто дать пример мальеееееенького ПХП скрипта для работы с sendmail. Пусть без коменты ... но что послал письмо куда надо..........
 
 А то я так и лягу на Х1....
- 
				SendMail у них всегда работает. А вот mail() нет. Разницу обяъснять, наверное, не надо. 
 Ты что-то путаешь. Я тестировал там скрипт, и mail там прекрасно работает. Хотя нет, не прекрасно: одно сообщение отсылает без  проблем, а вот более не может сразу, только по истечении определенного времени.
- 
				Да ладно...... 
 У них так быстро работет тех.поддержа...........
 Скорее я состарюсь....
 
 Вечером напиши, а утром встанешь и ответ будет. Уже давно бы решил.
 
 1. Можно отпрпавлять письма напрямую через сокеты на SMTP сервер (иди на http://php.spb.ru).
 2. Если так нужен Sendmail то иши на форуме уже был код.
 
 PS Я полностью согласен с Ромиком, врятли кто-то будет делать покупки в магазине который на бесплатном хостинге, во всяком случае я бы не стал (не чего личного).
- 
				Вот ПХП скрипт который ну просто должен работать..........
 Но получились те же яйца "вид с боку".
 
 
 $name="Testing";
 $to="user@lamer-php.ru";
 
 $tmp=time().".mail";
 
 $subject="Test";
 $MAIL=fopen($tmp, "w");
 $messaga="Subject: $subject";
 $messaga.="From: testing@webscript.ru";
 $messaga.="To: $to";
 $messaga.= " Sendmail its working !!!";
 fputs($MAIL, $messaga);
 fclose ($MAIL);
 
 system("/usr/sbin/sendmail -t -messagefile=$tmp");
- 
				Viking 
 Компьютер всегда делает то, что ему приказано. Но не всегда это совпадает с тем, что мы от него хотели.
 
 Кто символ перевода строки в твою $messaga вставлять будет? Дедушка Ленон?
- 
				То есть....................
 Вроде все правильно....
- 
				На holm sendmail сразу не дают, есть только сразу mail.
			
- 
				Maniac 
 символ перевода строки  
 
 Viking
 То есть.................... 
 Имелось ввиду
 $messaga="Subject: $subject\\n";
 $messaga.="From: testing@webscript.ru\\n";
 $messaga.="To: $to\\n\\n";
- 
				Имелось ввиду  
 Скажу больше, надо вставлять \\r\\n.
 А еще лучше - посмотреть в мануале про функцию mail()
- 
				Viking ещё раз повторю пиши письмо админу и обоснуй зачем тебе возможность отправки сообщений, люди там "нормальные" (в смысле должны дать mail()). Хватит играть в "угадайку" с sendmail`ом
 
 Вроде все правильно.... 
 А на сервере проверить слабо?
 
 надо вставлять \\r\\n. 
 \\r вроде в unix для перевода строки не используется.
- 
				еще один тупой вопрос по теме, но я честно перерыл весь форум, мануал и т. п. и не могу разобраться. ну чайник я, чайник..
 почему на h1.ru не работает элементарный:
 
 $mymail="dark-@land.ru";
 mail($mymail, $email, $body);
 if (mail($mymail, $email, $body)) echo "Сообщение отправлено";
 else echo "Сообщение не было отправлено"
 ?>
 
 сама форма - в отдельном файле.
 скрипт вообще понимает, что $email и $body оттуда? или как это задать?
 и еще: мож кто подскажет другой free hosting с поддержкой php?