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

Форум PHP

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

 

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

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

тема: mail(). Помогите начинающему :)
 
 автор: beginner2007   (02.05.2007 в 17:19)   письмо автору
 
 

Сразу предупреждаю, я чайник. Обещаю подтянуться и знать PHP не хуже С и вычислительной математики, но пока вот такая проблема. Сваял себе сайт. Делал в Дримвивере, на домашнем компе. Домашний комп — Macintosh, система Mac OS X (10.4.7).

Вчера на одну из страниц вставил php-код, который должен отправлять почту при посещении страницы кем-то (информацию о посетителе). Естественно, использовал функцию mail():

<?php
$enter = chr(13);
$to = "address@mail.ru";
$subject = "Page was visited";

$arr[0] = $_SERVER['REMOTE_ADDR'];
$arr[1] = $_SERVER['HTTP_REFERER'];
$arr[2] = getenv("HTTP_USER_AGENT");
$arr[3] = date("YmdHis");

$total = implode ($enter, $arr);
mail ($to, $subject, $total);
?>

Сам сайт отлаживаю на своей домашней машине (до настоящего хостинга еще дело не дошло). Благо на Маке Апач 1.3 устанавливается вместе с системой.

Сначала все заработало. Почта отправлялась при открытии страницы в браузере. Правда, почему-то не на все адреса address@mail.ru. А потом вдруг все как обрезало. Ф-я mail() возвращает true, модем мигает (типа что-то шлет), а писем не приходит. Слал на разные адреса mail.ru и rambler.ru.

Что за беда такая?

   
 
 автор: Loneliness   (02.05.2007 в 18:06)   письмо автору
 
   для: beginner2007   (02.05.2007 в 17:19)
 

А может приходит, но в папку "сомнительные"? Вероятно, стоит заголовки передавать.
.....
$enter = chr(13);
$to = "address@mail.ru";
$subject = "Page was visited";

$arr[0] = $_SERVER['REMOTE_ADDR'];
$arr[1] = $_SERVER['HTTP_REFERER'];
$arr[2] = getenv("HTTP_USER_AGENT");
$arr[3] = date("YmdHis");

$headers = 'From: adres@mail.ru' . "\r\n" .                    
    'Reply-To: adres@mail.ru' . "\r\n" .                        
    'Content-type: text/plain; charset=windows-1251' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

 

$total = implode ($enter, $arr);
mail ($to, $subject, $total, $headers);


Попробуй например так. Отправлял без проблем на mail.

   
 
 автор: cheops   (02.05.2007 в 18:11)   письмо автору
 
   для: beginner2007   (02.05.2007 в 17:19)
 

Хм... странно, что mail.ru у вас принял письма... вероятно первые несколько штук с машины без доменного имени принимаются... Дело в том, что вас посчитали за спамера - спамеры скупают зомби-сети (заражённую сеть провайдера, которой можно удалённо манипулировать) и отсылают спам. Поэтому письма, отправленные с таких машиных (к которым не привязаны доменные имена) игнорируются. Лучше всего попытаться установить и настроить локальный почтовый сервер и отсылать письма ему (в этом случае вам даже Интернет не потребуется).

   
Rambler's Top100
вверх

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