Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема с отправкой писем через денвер
Форумы портала PHP.SU » PHP » Программирование на PHP » Проблема с отправкой писем через денвер

Страниц (1): [1]
 

1. Евгений 777 - 24 Марта, 2011 - 09:03:52 - перейти к сообщению
Привет всем. Помогите разрулить ситуацию. При отправке письма через денвер (на серваке не пробовал) в заголовках письма в полях "От" и "Кому" дважды пишет одно и тоже. Например "От" Дмитрий, Дмитрий "Кому" Евгений, Евгений. Тема письма в одном экземпляре слава богу Радость . А тело письма отсутствует напрочь. Почтовик The Bat. Пробовал в нём включить отображение заголовков, вроде всё норм, есть и тело письма и всё остальное в норме. Привожу 2 файла (ф-я запускается из третьего файла, там ничего интересного нет, поэтому не буду его приводить).

Файл function.php
PHP:
скопировать код в буфер обмена
  1. function message_login() {
  2.     $_file= 'Адрес IP- {ip}';
  3.         $from= "test";
  4.     $to= "Евгений <test@mail.ru>";
  5.     $subject= "Проверка работы";
  6.  
  7.         $_file= strtr($_file, array(
  8.     "{ip}" => $_SERVER["REMOTE_ADDR"],
  9.         ));
  10.         require_once './mail/mail.php';
  11.  
  12. }


Файл mail.php
PHP:
скопировать код в буфер обмена
  1. $to  = "$to" ;
  2.  
  3. $message = "$_file";
  4.  
  5. $headers .= "Content-type: text/html; charset=windows-1251 \r\n"; //Кодировка письма
  6. $headers .= "From: $from \r\n";//От кого письмо
  7. $headers .= "To: $to \r\n";//Кому письмо
  8. $headers .= "Subject: $subject \r\n";// Тема письма
  9.  
  10.  
  11. mail($to, $subject, $message, $headers);


Подскажите пожалуйста, что не так, что не хватает. Заранее благодарен.
2. EuGen - 24 Марта, 2011 - 09:06:56 - перейти к сообщению
Посмотрите, что у Вас в $_file приходит. Примерно так:
var_dump($_file);
А по делу - не нужно так писать - все эти require, принимающие переменные от скриптов и вызывающиеся внутри функций, до добра не доведут.
3. Евгений 777 - 24 Марта, 2011 - 09:14:39 - перейти к сообщению
var_dump выводит string(19) "Адрес IP- 127.0.0.1"
К тому же появляется ошибка
Notice: Undefined variable: headers in
В этой строке содержится
PHP:
скопировать код в буфер обмена
  1. $headers .= "Content-type: text/html; charset=windows-1251 \r\n"; //Кодировка письма

А по поводу require не понял. Что его тогда вызывать в том же скрипте, где и ф-я запускается, после вызова ф-ии писать require, или как?
4. EuGen - 24 Марта, 2011 - 09:38:43 - перейти к сообщению
Ну это по поводу правильной организации кода. Но да ладно. Думаю, со временем сами к этому придете.
Ну так посмотрите все переменные для mail и попробуйте выслать отдельно.
5. Евгений 777 - 24 Марта, 2011 - 09:47:57 - перейти к сообщению
EuGen пишет:
Ну так посмотрите все переменные для mail и попробуйте выслать отдельно.


Это Вы о чём, не понял, извините. С заголовками что то не то, мне кажется.
6. EuGen - 24 Марта, 2011 - 10:25:05 - перейти к сообщению
О том, чтобы посмотреть значения всех параметров mail и попробовать вызывть ее с ними отдельно.
7. LIME - 24 Марта, 2011 - 10:44:36 - перейти к сообщению
увас поля to и subject 2 раза в отправляются
1ый раз как аргументы mail()
2ой в headers
уберите их из хидерса
п.с. пишустелефона сориза стиль
8. Евгений 777 - 24 Марта, 2011 - 10:58:57 - перейти к сообщению
LIME пишет:
увас поля to и subject 2 раза в отправляются

Если убираю, то единственное что приходит это "От" в 2-х экземплярах, больше ничего нет вообще.

EuGen пишет:
О том, чтобы посмотреть значения всех параметров mail и попробовать вызывть ее с ними отдельно.

Пишу
PHP:
скопировать код в буфер обмена
  1. mail($to, $subject, $message, $headers);
  2. echo "$to, $subject, $message, $headers";

Выводится

Евгений , Проверка работы, Адрес IP- 127.0.0.1, Content-type: text/html; charset=windows-1251 From: test To: Евгений Subject: Проверка работы
Ну и плюс к этому нотайс о headers почему то.
9. JustUserR - 24 Марта, 2011 - 16:31:22 - перейти к сообщению
Евгений 777 пишет:
С заголовками что то не то, мне кажется.
В качестве возможной причины осуществления некорректного функционирования предполаоаемого PHP-приложения, производяшего отправку инкапсулированных электронных почтовых сообщений, в действительноссти может обеспечиваться генерация ассоциировнного информационного содержимого целевых RFC-заголовков в верхнем базовом уровне элементного трактования, относительно которого интерполяция отдельных объективных значений и локальной кодовой варации может являться несоответственным с целевой формой информационного поля
10. Евгений 777 - 24 Марта, 2011 - 21:11:57 - перейти к сообщению
Ну что, неужели не знает никто?
11. DlTA - 24 Марта, 2011 - 23:27:41 - перейти к сообщению
дык а что будет если вызвать mail не с переменными а с указанными строками?
mail("мыло кому","мыло от кого","текст сообщения")?
12. Евгений 777 - 24 Марта, 2011 - 23:31:00 - перейти к сообщению
DlTA пишет:
дык а что будет если вызвать mail не с переменными а с указанными строками?

Улыбка Пробовал. Не хочет гад такой. Попробовал залил на сервак и отправил письмо, всё сработало отлично. Всё в 1-м экземпляре и тело письма на месте. Я так думаю теперь буду просто смотреть в Бате, если при включенных заголовках тело письма на месте, значит всё нормально, на серваке должно работать правильно. Завтра ещё проверю на все ли почтовики письмо приходит в нормальном виде. Короче я так понял, проблема в заглушке sendmail Денвера.
13. JustUserR - 25 Марта, 2011 - 20:43:03 - перейти к сообщению
Евгений 777 пишет:
Ну что, неужели не знает никто?
В качестве возможной причины осуществления некорректного функционирования предполаоаемого PHP-приложения, производяшего отправку инкапсулированных электронных почтовых сообщений, в действительноссти может обеспечиваться генерация ассоциировнного информационного содержимого целевых RFC-заголовков в верхнем базовом уровне элементного трактования, относительно которого интерполяция отдельных объективных значений и локальной кодовой варации может являться несоответственным с целевой формой информационного поля
В качестве конкретного аспекта проявления указанных характеристик процесса осуществления передачи элементноого сообщения, может обеспечиваться извлечение ассоциированных информационных полей в локальном верхнем базовом элементном уровне трактования, для которых не осуществляется соответствие корневому порядку включения оригинальных объектов данных, на основании управляющих и ограничивающих элементов

 

Powered by ExBB FM 1.0 RC1