Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

По Главе 27. Посылка писем через Php (Onet)
Author Message
Onet
Заглянувший



Joined: 02 May 2005
Posts: 11
Карма: 0
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 12:48 pm (написано за 2 минуты 31 секунду)
   Post subject: По Главе 27. Посылка писем через Php
Reply with quote

Прочитала главу. Вопрос по настройкам PHP.
sendmail_path - устанавливаем в php.ini
А что мы там пишем? Какой путь? Не понимаю... Что я могу любой путь прописать?
*Все папки у меня сформированы ровно так же как и у вас по книге
sendmail_path = ?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 2:35 pm (спустя 1 час 47 минут; написано за 18 секунд)
   Post subject:
Reply with quote

Если у Вас Денвер, там уже все прописано.
denwer.ru
Back to top
View user's profile Send private message Send e-mail
Onet
Заглянувший



Joined: 02 May 2005
Posts: 11
Карма: 0
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 3:04 pm (спустя 28 минут; написано за 26 секунд)
   Post subject:
Reply with quote

У меня нет денвера. Это единственно что я пропустила из Вашей книги. Сочла это сложным.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 3:33 pm (спустя 28 минут; написано за 37 секунд)
   Post subject:
Reply with quote

Хм. На самом деле, это самое простое, что там есть. :-)
Ну а иначе Вам придется вручную ставить sendmail (в Поиск), настраивать его, а потом прописывать путь.
Back to top
View user's profile Send private message Send e-mail
Onet
Заглянувший



Joined: 02 May 2005
Posts: 11
Карма: 0
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 3:40 pm (спустя 6 минут; написано за 20 секунд)
   Post subject:
Reply with quote

Т.е. мне сейчас следует заняться денвером для начала?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 3:46 pm (спустя 5 минут; написано за 50 секунд)
   Post subject:
Reply with quote

Именно.
Да что там заниматься? Прочитайте www.denwer.ru/base.html (15 мин), скачайте и установите (10 мин), пройдитесь по всем ссылкам на localhost (15 мин).
Back to top
View user's profile Send private message Send e-mail
Onet
Заглянувший



Joined: 02 May 2005
Posts: 11
Карма: 0
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 4:05 pm (спустя 19 минут; написано за 41 секунду)
   Post subject:
Reply with quote

Я вспомнила почему я это не стала устанавливать. Я уже до этого момента установила диск Z со всеми программами и т.п. А теперь мне нужно его удалить?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 4:14 pm (спустя 8 минут; написано за 18 секунд)
   Post subject:
Reply with quote

Как хотите. Можете и не удалять.
Back to top
View user's profile Send private message Send e-mail
Onet
Заглянувший



Joined: 02 May 2005
Posts: 11
Карма: 0
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 5:05 pm (спустя 51 минуту; написано за 4 минуты 6 секунд)
   Post subject:
Reply with quote

Я уже удалила и все установила. Сейчас организую виртуальный хост и перетащу туда созданные страницы.
Вопрос такой. Я делаю форму на сайте. Результаты хочу отправлять на почту. В главе 27 я думаю достаточно для этого информации. Единственно вопрос. Мне в action надо будет прописать имя файла листинга 27.8
Правильно? А он уже будет цеплять все описаные ранее в этой главе файлы.
Правильно я понимаю?

И еще. При тестировании денвера localhost - не работает custom-host:8648
Там написано, что такое возможно В Windows XP SP2. У меня XP. Все равно попробовала скачать заплатку. но она не установилась. Это критично, что этот пункт не работает?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 6:21 pm (спустя 1 час 15 минут; написано за 3 секунды)
   Post subject:
Reply with quote

Onet wrote:
При тестировании денвера localhost - не работает custom-host:8648
В Поиск.
Back to top
View user's profile Send private message Send e-mail
Onet
Заглянувший



Joined: 02 May 2005
Posts: 11
Карма: 0
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 6:36 pm (спустя 15 минут; написано за 3 минуты 24 секунды)
   Post subject:
Reply with quote

Посмотрела в поиске, но ничего определенного не подчеркнула.
Прокси у меня отключен. ДНС работает. Виртуальные хосты тоже работают. В принципе если это на работе с виртуальными хостами никак не отобразится, то можно и забыть про это.

У меня другая проблемка возникла.
Я все перенесла только у меня появились 2 ошибки.
1. Машина ругается на кеш.
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

Я посмотрела в phpinfo. там
session.cache_expire 180
session.cache_limiter nocache

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

2. Машина ругается на сессию и сессия не работает (вообще она пишет кучу ошибок на строки с сессией, потом показывает окно для ввода пароля и если его ввести то пропустит. А если зайти на другую страницу минуя главную, вместо того чтобы отправить на главную, просто пишет ошибки и ничего не работает)
session_start();
if($_POST["login"]!=""){
    $login=$_POST["login"];
    $password=$_POST["password"];
        if ($login=="333" && $password=="333"){
            $_SESSION["user"]=$login;
            header("Location:about.php");
            exit();
        }

Я зашла в php.ini и поправила session.save_path. Там стояло /tmp. Я заменила его на Z:/tmp - но всеравно не работает. Вернула обратно. Подскажите почему?
При прежней установке (до Главы 4 настоящей книги) у меня все это работало. А с денвером нет...

:((

Last edited by Onet on Wed Jun 01, 2005 6:53 pm; edited 1 time in total
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 6:48 pm (спустя 12 минут; написано за 23 секунды)
   Post subject:
Reply with quote


М

Какое это все имеет отношение к "Посылке писем через PHP"?
forum.dklab.ru/about/todo/PravilaEtogoForuma-ProchitayteObyazatelno.html!
Back to top
View user's profile Send private message Send e-mail
Onet
Заглянувший



Joined: 02 May 2005
Posts: 11
Карма: 0
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 6:56 pm (спустя 8 минут; написано за 5 минут 41 секунду)
   Post subject:
Reply with quote

Onet wrote:
Я уже удалила и все установила. Сейчас организую виртуальный хост и перетащу туда созданные страницы.
Вопрос такой. Я делаю форму на сайте. Результаты хочу отправлять на почту. В главе 27 я думаю достаточно для этого информации. Единственно вопрос. Мне в action надо будет прописать имя файла листинга 27.8
Правильно? А он уже будет цеплять все описаные ранее в этой главе файлы.
Правильно я понимаю?
Ну Вы посоветовали поставить денвер. Я установила. Мой вопрос с уточнениями Вы к сожалению пропустили и мы уже погрязли в ошибках, которые сподвиг Денвер. Я тогда вопрос по денверу перенесу в новую тему. А если Вам не трудно, ответьте на мой оставшийся без внимания вопрос по отправке писем.

Спасибо!
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Jun 01, 2005 7:18 pm (спустя 22 минуты; написано за 1 минуту 55 секунд)
   Post subject:
Reply with quote

Onet wrote:
Правильно я понимаю?
"А что нам говорит эксперимент?" (С)

Знаете, если честно, я очень не люблю лентяев. Экспериментируйте - или ждите, пока придет Maus и все Вам разжует (хотя ответы и так находятся за 5 минут - либо в Поиске, либо при внимательном взгляде на экран).

И еще. Прежде, чем продолжать, изучите Как правильно задавать вопросы: статья, обязательная к прочтению (citforum.ru/howto/smart-questions-ru.shtml)

Да, и еще. Денвер не имеет ко всему этому ровно никакого отношения. Скорее всего, вся проблема в непонимании директивы error_reporting в php.ini.
Back to top
View user's profile Send private message Send e-mail
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 272
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Thu Jun 02, 2005 3:31 pm (спустя 20 часов 13 минут; написано за 10 минут 33 секунды)
   Post subject: Ом мани падме хум!
Reply with quote

Onet wrote:
не работает custom-host:8648
В FAQ -> Денвер -> Полезные советы (faq.dklab.ru/denwer/solution?v=1572)
Насчет писем: в Денвере есть Sendmail-заглушка (подробности - в документации к Денверу, возможно - в FAQ). Это значит ,что Вы в Денвере можете отлаживать скрипт, отсылающий почту - PHP ругаться на отсутствие сендмейла не будет.
Onet wrote:
1. Машина ругается на кеш.
// оффтоп: Внимание! Включается телепатический приемник! Посторонним покинуть опасную зону
Вероятно, Вы получаете такие сообщения:
Code (any language): скопировать код в буфер обмена
Warning: Cannot modify header information - headers already sent by ...
Это значит, что у Вас выше строки с header() есть некий вывод в браузер. Возможно, это пробел или перевод строки. Или убирайте его ,или смотрите в сторону ob_start()
Onet wrote:
if($_POST["login"]!=""){
Пожалуйста, пользуйтесь подсветкой кода на форуме.
Code (php): скопировать код в буфер обмена
if(isset (www.php.net/isset)($_POST["login"]) && $_POST["login"]!=""){ // и далее в том же духе
 
Onet wrote:
мы уже погрязли в ошибках, которые сподвиг Денвер
Нет, просто Денвер Вам позволил увидеть некоторые недостатки скрипта. Развеял туман, так сказать.
Onet wrote:
Я посмотрела в phpinfo. там
session.cache_expire 180
session.cache_limiter nocache
Это к кэшированию отношения не имеет. Кэширование происходит на стороне клиента (браузера).


Дмитрий Котеров
Будете делить тему или все сразу в Мусор?
[offtop]
Дмитрий Котеров wrote:
ждите, пока придет Maus
:) Может, опять подпись включить? Что-то вроде "Мусорщик" или "Волосатый нянь"...
[/offtop]
Back to top
View user's profile Send private message
Onet
Заглянувший



Joined: 02 May 2005
Posts: 11
Карма: 0
   поощрить/наказать


PostPosted: Fri Jun 03, 2005 9:03 pm (спустя 1 день 5 часов 31 минуту; написано за 18 секунд)
   Post subject:
Reply with quote

Спасибо!
Все замечания приняла к сведению.
Back to top
View user's profile Send private message
Onet
Заглянувший



Joined: 02 May 2005
Posts: 11
Карма: 0
   поощрить/наказать


PostPosted: Tue Jun 28, 2005 9:48 am (спустя 24 дня 12 часов 44 минуты; написано за 3 минуты)
   Post subject:
Reply with quote

В продолжение начатой темы...
После установки Денвера, разобралась с главой 27 (посылка писем через PHP). Все работает, кроме одного. Все письма сваливаются в папку temp/!sendmail
На странице 509 так и написано в замечании, что сработает отладочная заглушка.
Я порылась в поиске и нашла топики на эту тему.
Вопрос: Т.е.без дополнительной программы я не смогу отправлять письма?
Back to top
View user's profile Send private message
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 272
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Tue Jun 28, 2005 12:56 pm (спустя 3 часа 8 минут; написано за 1 минуту 17 секунд)
   Post subject:
Reply with quote

Onet wrote:
без дополнительной программы я не смогу отправлять письма?
Именно. Подобные программы называются SMTP server. Для отладки сайта реальная отправка писем не нужна.
Back to top
View user's profile Send private message
Onet
Заглянувший



Joined: 02 May 2005
Posts: 11
Карма: 0
   поощрить/наказать


PostPosted: Fri Jul 01, 2005 9:20 am (спустя 2 дня 20 часов 24 минуты; написано за 21 секунду)
   Post subject:
Reply with quote

Да, действительно! Спасибо!
Back to top
View user's profile Send private message
Ruslan
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Nov 09, 2005 1:28 am (спустя 4 месяца 7 дней 16 часов 7 минут; написано за 3 минуты 17 секунд)
   Post subject: Отправка письма
Reply with quote

Я не усланавливал Денвер. У меня пакет Apache, PHP5, MSQL. Использовал сценарий отправки почты описанный в листинге 27.8 В $tos указал емаил. Но письмо отправить не получается. Может в настройках что-то нетак? Подскажите, что именно.
Спасибо.
Back to top
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9990
   поощрить/наказать


PostPosted: Wed Nov 09, 2005 2:18 am (спустя 49 минут; написано за 6 секунд)
   Post subject:
Reply with quote

Maus wrote:
Onet писал(а):
без дополнительной программы я не смогу отправлять письма?
Именно. Подобные программы называются SMTP server. Для отладки сайта реальная отправка писем не нужна.
Back to top
View user's profile Send private message
rdsden
Участник форума



Joined: 07 Mar 2006
Posts: 34
Карма: 2
   поощрить/наказать

Location: Новосибирск

PostPosted: Tue May 23, 2006 8:48 am (спустя 6 месяцев 14 дней 6 часов 30 минут; написано за 6 минут 3 секунды)
   Post subject:
Reply with quote

Тоже возник вопрос по поводу автоматической отправки писем.
А именно:
В свою гостевую дописал код отправки уведомления мне на почтовый ящик после добавления сообщения посетителем сайта.
Все работает, уведомления приходят, а вопрос вот в чем.
Проверил как это работает в браузере FireFox Mozilla, так он выдает окно где можно согласиться или отменить автоматическую отправку письма.
А можно ли отменить это, чтоб посетитель даже и не знал, что что-то там отправляется по почте?
Back to top
View user's profile Send private message
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9990
   поощрить/наказать


PostPosted: Tue May 23, 2006 11:01 am (спустя 2 часа 12 минут; написано за 58 секунд)
   Post subject:
Reply with quote

rdsden, код покажите.
Back to top
View user's profile Send private message
rdsden
Участник форума



Joined: 07 Mar 2006
Posts: 34
Карма: 2
   поощрить/наказать

Location: Новосибирск

PostPosted: Tue May 23, 2006 1:04 pm (спустя 2 часа 3 минуты; написано за 3 минуты 14 секунд)
   Post subject:
Reply with quote

Code (php): скопировать код в буфер обмена
$shbl = file_get_contents (www.php.net/file_get_contents)("mail.eml");
        $ml   = $shbl;
        $ml   = strtr (www.php.net/strtr)($ml, array (www.php.net/array)(
                "{name}"       => $name,
                "{url}"        => $url,
                "{mail}"       => $mail,
                "{ip}"         => $ip,
                "{text}"       => $text,               
        ));
        $ml = mailenc($ml);
        mailx($ml);
Вот так отправляется. А функции mailenc() и mailx() взяты из книги "php 5 в подлиннике" Дмитрия Котерова и Алексея Костарева.
В этих функциях я ни чего не менял.
Back to top
View user's profile Send private message
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9990
   поощрить/наказать


PostPosted: Tue May 23, 2006 10:29 pm (спустя 9 часов 25 минут; написано за 2 минуты 11 секунд)
   Post subject:
Reply with quote

rdsden wrote:
А функции mailenc() и mailx() взяты из книги "php 5 в подлиннике" Дмитрия Котерова и Алексея Костарева.
В этих функциях я ни чего не менял.
Гм.
Ну, ждите, когда кто-нибудь из читавших/писавших эту книгу Вам ответит.
Я её не читал...
Back to top
View user's profile Send private message
rdsden
Участник форума



Joined: 07 Mar 2006
Posts: 34
Карма: 2
   поощрить/наказать

Location: Новосибирск

PostPosted: Wed May 24, 2006 6:23 am (спустя 7 часов 53 минуты; написано за 1 минуту 5 секунд)
   Post subject:
Reply with quote

файл mailenc.php слово в слово с описанием каждой функции.
Code (php): скопировать код в буфер обмена
<?php #
//
//
//
function mailenc($mail) {
  //
  list ($head, $body) = preg_split (www.php.net/preg_split)("/\r?\n\r?\n/s", $mail, 2);
  //
  $encoding = '';
  $re = '/^Content-type:\s*\S+\s*;\s*charset\s*=\s*(\S+)/mi';
  if (preg_match (www.php.net/preg_match)($re, $head, $p)) $encoding = $p[1];
  //
  $newhead = "";
  foreach (preg_split (www.php.net/preg_split)('/\r?\n/s', $head) as $line) {
    //
    $line = mailenc_header($line, $encoding);
    $newhead .= "$line\r\n";
  }
  //
  return "$newhead\r\n$body";
}

//
//
//
//
//
function mailenc_header($header, $encoding) {
  //
  if (!$encoding) return $header;
  //
  //
  //
  $GLOBALS['mail_enc_header_encoding'] = $encoding;
  return preg_replace_callback (www.php.net/preg_replace_callback)(
    '/([\x7F-\xFF][^<>\r\n]*)/s',
    'mailenc_header_callback',
    $header
  );
}

//
function mailenc_header_callback($p) {
  $encoding = $GLOBALS['mail_enc_header_encoding'];
  //
  preg_match (www.php.net/preg_match)('/^(.*?)(\s*)$/s', $p[1], $sp);
  return "=?$encoding?B?".base64_encode($sp[1])."?=".$sp[2];
}
?>
Back to top
View user's profile Send private message
rdsden
Участник форума



Joined: 07 Mar 2006
Posts: 34
Карма: 2
   поощрить/наказать

Location: Новосибирск

PostPosted: Wed May 24, 2006 6:28 am (спустя 5 минут; написано за 28 секунд)
   Post subject:
Reply with quote

Файл mailx.php отправляет сообщение по почте
Code (php): скопировать код в буфер обмена
<?php
function mailx($ml) {
  list ($head, $body) = preg_split (www.php.net/preg_split)("/\r?\n\r?\n/s", $ml, 2);
  $to = "";
  if (preg_match (www.php.net/preg_match)('/^To:\s*([^\r\n]*)[\r\n]*/m', $head, $p)) {
    $to = @$p[1];
    $head = str_replace (www.php.net/str_replace)($p[0], "", $head);
  }
  $subject = ""
  if (preg_match (www.php.net/preg_match)('/^Subject:\s*([^\r\n]*)[\r\n]*/m', $head, $p)) {
    $subject = @$p[1];
    $head = str_replace (www.php.net/str_replace)($p[0], "", $head);
  }
  mail (www.php.net/mail)($to, $subject, $body, trim (www.php.net/trim)($head));
}
?>
Back to top
View user's profile Send private message
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9990
   поощрить/наказать


PostPosted: Wed May 24, 2006 12:44 pm (спустя 6 часов 15 минут; написано за 2 минуты 31 секунду)
   Post subject:
Reply with quote

Так.

Похоже, это всё не то — где код формы, после отправки которой «выдает окно где можно согласиться или отменить автоматическую отправку письма»?

Кстати, может, адрес своей гостевой дадите?
Back to top
View user's profile Send private message
rdsden
Участник форума



Joined: 07 Mar 2006
Posts: 34
Карма: 2
   поощрить/наказать

Location: Новосибирск

PostPosted: Wed May 24, 2006 11:02 pm (спустя 10 часов 18 минут; написано за 5 минут 57 секунд)
   Post subject:
Reply with quote

Упс... Что-то не понятное.
Код отправки писал еще в Апреле, тогда же и проверил его на Мозиле, и окошко выскакивало с запросом об отправлении.
Все думал, будет время, тут, на форуме спрошу и вот дотянул до конца Мая.
А сейчас проверил, никакого окна нет.
Может Мозила только один раз так делает, я ее как раз тогда только установил.
На всякий случай, вот адрес в гостевую:
www.rdsden.ru/guestbook/
Back to top
View user's profile Send private message
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9990
   поощрить/наказать


PostPosted: Wed May 24, 2006 11:47 pm (спустя 44 минуты; написано за 44 секунды)
   Post subject:
Reply with quote

rdsden wrote:
На всякий случай, вот адрес в гостевую:
www.rdsden.ru/guestbook/
— не, никаких запросов
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3
Back to top
View user's profile Send private message
pavel_f
Заглянувший



Joined: 25 Jan 2013
Posts: 1
Карма: 0
   поощрить/наказать


PostPosted: Fri Jan 25, 2013 7:29 pm (спустя 6 лет 8 месяцев 19 часов 41 минуту; написано за 4 минуты 26 секунд)
   Post subject:
Reply with quote

Здравствуйте!

...
list ($head, $body) = preg_split("/\r?\n\r?\n/s", $mail, 2);
...

это кусок из mailx.php

Не могу разобраться, что в данном случае значит "2" в конце выражения...

Вот шаблон, который разделяется этим выражением

From: <somebody@mail.ru>
To: {TO}
Subject: Ansys Help

Hi, {TO}!
{TEXT}
Translate it!


Но зачем двойка, это же в байтах? Подскажите.
Back to top
View user's profile Send private message
rsmoney88
Заглянувший



Joined: 19 Dec 2015
Posts: 12
Карма: 0
   поощрить/наказать


PostPosted: Sat Dec 19, 2015 11:39 am (спустя 2 года 10 месяцев 24 дня 16 часов 10 минут; написано за 25 секунд)
   Post subject: Упс... Что-то не понятное
Reply with quote

Упс... Что-то не понятное.
Код отправки ffxiv gil (www.mmofx.com/ffxiv-gil/) писал еще в Апреле, тогда же и проверил его на Мозиле, и окошко выскакивало с запросом об отправлении.
Все думал, будет время, тут, на форуме спрошу и вот дотянул до конца buy ffxi gil (www.mmofx.com/ffxi-gil) Мая.
А сейчас проверил, никакого окна нет.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML