2009 28 de agosto de 2009
manter um registro de e-mail enviado a função PHP de e-mail
PHP mail () função definida por padrão nos enviaram e-mails enviados através do software sendmail. Configurações de log, o que também melhora o nível de Sendmail foi enviado pelo qual o usuário não pode encontrar o arquivo ou. Especialmente se você tem uma máquina que serve como um provedor de recursos da web na qual o usuário está enviando lixo eletrônico é difícil de detectar usando. Métodos utilizados para php servidor de correio sendmail que vem à mente como uma ponte entre a empresa e também para adicionar um software que mantém registros. Como se segue;
vi /usr/sbin/sendmail.spamkontrol
a dizer
#! / Usr / bin / perl
# Use strict;
usar Env;
minha data $ = `` data;
chomp $ data;
open (INFO, ">> / var / log / spam_log") | | die "Arquivo não pode inicializar :: $";
my $ uid = $>;
my @ info = getpwuid ($ uid);
if ($ REMOTE_ADDR) {
imprimir INFO "$ data - $ REMOTE_ADDR correu $ SCRIPT_NAME em US $ SERVER_NAME n \ n";
print '\ n';}
else {print INFO "$ data - $ PWD - @ info \ n";
print '\ n';}
my $ mailprog = '/ usr / sbin / sendmail';
foreach (@ ARGV) {
Arg $ = "$ arg". "$ _";
}open (MAIL, "| $ mailprog R $ arg") | | die "Não é possível abrir $ mailprog: $ n";
while () {
imprimir MAIL;
}
close (INFO);
close (MAIL);
Depois de salvar o arquivo;
chmod +x /usr/sbin/sendmail.spamkontrol
touch /var/log/spam_log
chmod 0777 /var/log/spam_log
Depois de dar os poderes necessários, na forma de uma nova receita para o arquivo php.ini: sendmail no sendmail.spamkontrol / usr / sbin / pode entrar no seguinte, como a definição de Virtual Host no Apache, ou você pode inserir uma descrição.
php_admin_value sendmail_path '/usr/sbin/sendmail.spamkontrol'
Você também pode inserir este valor para cada definição de VirtualHost. Depois de reiniciar o Apache em / var / log / spam_log arquivo emitirá o arquivo de saída, como registros de amostra.
[root@immortal ~]# tail /var/log/spam_log
Fri Aug 28 15:37:20 EEST 2009 - /home/testuser1 -
Fri Aug 28 15:45:01 EEST 2009 - /home/testuser2 -
Fri Aug 28 15:53:30 EEST 2009 - /home/testuser1 -
Fri Aug 28 15:57:43 EEST 2009 - /home/testuser1 -
Fri Aug 28 15:58:47 EEST 2009 - /home/testuser2 -
Fri Aug 28 16:21:21 EEST 2009 - /home/testuser2 -
Se o tamanho do arquivo de log cresce, a rotação de logs, então o arquivo / etc / logrotate.conf arquivo, adicione o seguinte.
# SPAM LOG rotation
/var/log/spam_log {
monthly
create 0777 root root
rotate 1
}
[Agradecimentos Mattf e ramprage'e]
