cron+ mail

andfm

Новичок
cron+ mail

Помогите разобраться в проблеме. Скрипт запускается в cron-не в 1 час ночи (* 01 * * * /usr/local/bin/php /www/name/www/htdocs/sendl.php)
из текстового файла выбираются email адреса и по ним идет рассылка информации:
PHP:
$fdemail = fopen($pathfile."mails.txt","r");
$i=0;
while (!feof($fdemail))
{
$sendto=fgets($fdemail);
$to=trim($sendto);
$header = "From: " . $name . "<" . $admin . ">\r\n";
$header .= "X-Sender: < autosender >\n";
$header .= "Content-Type: text/html; charset=windows-1251"."\r\n";
$message=$tmp;

if (strlen($to)>0) {mail($to,$subject,$message."\n",$header);}
echo "($i)email=".$to."\n";
$i+=1;		
						
// через каждые 5 писем остановка на 50 сек
if (($i % 5)==0) 
{
  ob_flush();
  flush();
  sleep(50);
}
   }
если запустить скрипт через браузер то все нормально(ни каких ошибок все рассылается). Но если дать cron-ну запуск скрипта то
1. получаю сообщения:
PHP Warning: mail(): Could not execute mail delivery program '/usr/sbin/sendmail -t -i ' in /www/name/www/htdocs/sendl.php on line xx
(0)[email protected]
2. cron несколько раз запускается и пытается выполнить скрипт в результате я получаю несколько писем одного содержания.

Подскажите в чем дело. К сожалению логи не могу посмотреть так как этот скрипт хоститься.
Спасибо.
P/S
Разуверяю всех, это не спамерство. Информация рассылается только зарегистрированным клиентам на сайте с их согласия.
 

white phoenix

Новичок
> 1. получаю сообщения:
Права, батенька, права...
> cron несколько раз запускается и пытается выполнить скрипт в результате я получаю несколько писем одного содержания.
С какого перепугу?
 

andfm

Новичок
Автор оригинала: white phoenix
> 1. получаю сообщения:
Права, батенька, права...
> cron несколько раз запускается и пытается выполнить скрипт в результате я получаю несколько писем одного содержания.
С какого перепугу?
на sendl.php стоит 755
на mail.txt стоит 666

а вот почему он несколько раз пытается выполнить скрипт незнаю.
 

serglt

Анус, ой, Ахтунг
Когда срабатывает кронтаб если скрипт пишет в консоль то тебе создается письмо от пользователя крона :) (Надеюсь понял)
Попробуй через сокет мыло посылать, надежнее!
 

white phoenix

Новичок
andfm
Права не на эти файлы, а на запуск sendmail.
serglt
Можно и так, но смысла не вижу.
 

andfm

Новичок
Автор оригинала: white phoenix
andfm
Права не на эти файлы, а на запуск sendmail.

Где посмотреть?
serglt
Можно и так, но смысла не вижу.
-~{}~ 16.01.06 15:45:

Автор оригинала: serglt
Когда срабатывает кронтаб если скрипт пишет в консоль то тебе создается письмо от пользователя крона :) (Надеюсь понял)
Попробуй через сокет мыло посылать, надежнее!
А с кроном заморочек не будет, если через сокет?
 

white phoenix

Новичок
andfm
Посмотреть что? Посмотри из под какого пользователя исполняется скрипт кроном. `id > id.txt` выполни кроном.
 

andfm

Новичок
Автор оригинала: white phoenix
andfm
Посмотреть что? Посмотри из под какого пользователя исполняется скрипт кроном. `id > id.txt` выполни кроном.
вот что в id.txt
uid=19377(имя сайта) gid=100(users) groups=100(users), 19370(имясайта-users)

-~{}~ 16.01.06 16:22:

Таким образом владелец sendl.php и mails.txt являюсь я сам и запускается cron от моего имени. Я проверил по uid см. выше

Так в чем же дело?
 

serglt

Анус, ой, Ахтунг
С кроном проблем не будет точно если буш использовать сокеты
 

andfm

Новичок
если в рассылке не много адресов то cron не ругается а все нормально отправляет.
 

Кощей

if(!$needle) die("ooh");
А кто знает как сказать крону чтобы он мне письма уведомляющие овыполнение в хтмл присылал а не тексте ?
 

Апокалипсис

тех дир matras.ru
Кощей
Не нужно писать в темы полуторогодавалой давности.
2. [m]mail[/m]
заголовок:
Content-type: text/html; charset=твоя кодировка
 

Кощей

if(!$needle) die("ooh");
Не так он сам отправляет где я ему заголовк укажу, мейл я конечно могу вконце скрипта сам написать отправку но зачем если крон может отправлять все что выдалось, написал куда слать и сам шлёт без лишних движений только в тексте
 
Сверху