Есть скрипт рассылки, который запускается раз в сутки, проверяет обновления на сайте и отправляет сформированное письмо на Subscribe.ru, который в
свою очередь и рассылает его всем подписчикам.
До смены/апгрейда сервера этот скрипт вызывался так:
wget http://mydomain.com/script.php
после смены/апгрейда сервера wget стал недоступен, поэтому пришлось вызывать из коммандной строки:
/usr/bin/php /home/mydomain/public_html/script.php
Но при этом происходит дублирование письма при выполнении скрипта.
В скрипте используется стандартная функция mail().
Где грабли? Куда копать?
PS. сервер iota.deserv.net (host 4)
Что значит "дублирование письма" ?
приходит 2 письма:
[header of message 1]
Return-Path: <myaccount@iota.deserv.net>
X-Original-To: mymail@mydomain.ru
Delivered-To: mymail@mydomain.ru
Received: from iota.deserv.net (unknown [83.102.212.34])
by mx.mydomain.ru (Postfix) with ESMTP id 20489403D
for <mymail@mydomain.ru>; Thu, 31 Mar 2005 15:00:06 +0700 (NOVST)
Received: from apache by iota.deserv.net with local (Exim 4.42)
id 1DGuaz-000FDN-Tr
for mymail@mydomain.ru; Thu, 31 Mar 2005 12:00:05 +0400
To: mymail@mydomain.ru
Subject: Security Blog - последние новости
From: mymail@mydomain2.ru
Message-Id: <E1DGuaz-000FDN-Tr@iota.deserv.net>
Date: Thu, 31 Mar 2005 12:00:05 +0400
[end header of message 1]
и
[header o message 2]
Return-Path: <myaccount@iota.deserv.net>
X-Original-To: mymail@mydomain.ru
Delivered-To: mymail@mydomain.ru
Received: from iota.deserv.net (unknown [83.102.212.34])
by mx.mydomain.ru.ru (Postfix) with ESMTP id 718224061
for <mymail@mydomain.ru>; Thu, 31 Mar 2005 15:00:01 +0700 (NOVST)
Received: from myaccount by iota.deserv.net with local (Exim 4.42)
id 1DGuau-000FBQ-QG
for mymail@mydomain.ru; Thu, 31 Mar 2005 12:00:00 +0400
To: mymail@mydomain.ru
Subject: Security Blog - последние новости
From: mymail@mydomain2.ru
Message-Id: <E1DGuau-000FBQ-QG@iota.deserv.net>
Sender: Jora <myaccount@iota.deserv.net>
Date: Thu, 31 Mar 2005 12:00:00 +0400
X-Authenticated-Sender: myaccount
[eng header of message 2]
Первый раз посылает exim, второй Sender: Jora <myaccount@iota.deserv.net>...
кстати, забыл сказать, комманда отправки письма:
mail("mymail@mydomain.ru", "Security Blog - последние новости", $message, "From: mymail@mydomain2.ru"
где мессаже:
[paste]
@@NAME@@ inet.safety.securityblog
@@PASSWD@@ **********
@@CHARSET@@ кошка
@@SUBJ@@ - последние новости
@@BEGINTEXT@@
Security Blog - последние новости.
2005-03-30 10:51:19. Банковской тайны в России больше нет – её украли хакеры
http://protection.net.ru/item/a-i-e-n-ei-cc-a-eurl-iln-l-o-ec-l
Банковской тайны в России больше не существует. В руки компьютерных
пиратов попала база данных по банковским проводкам с апреля 2003 г. по
сентябрь 2004 г., сообщает сегодня издание "Ведомости". "Банковские
проводки РКЦ" занимают рекордные 60 гигабайт и продаются вместе с
жестким диском. В рекламных рассылках утверждается, что в базе есть вся
информация по проводкам: реквизиты плательщика и получателя, их банков,
назначение платежа.
......
[/paste]
Это не дубликаты. Эти письма созданы разными процессами.
"Received: from apache by iota.deserv.net with local" - значит письмо послал пхп-скрипт запущеный апачем, тоесть по http, т.е. такое
происходит когда вы например вызываете скрипт через wget.
"Received: from myaccount by iota.deserv.net with local" - значит письмо послал пхп-скрипт работающий в режиме CGI, т.е. например запущеный
через /usr/bin/php
Заметьте у них даже дата на 5 секунд отличается.
дык запускается он из командной строки:
/usr/bin/php /path/to/script/script.php....