/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Requeue /var/spool/mail
Fra : Thor Dreier


Dato : 14-08-02 01:54

Hej,

Hvordan flytter jeg nemmest alle mails der ligger i /var/spool/mail
over i køen igen (der er sket nogle ændringer i brugernavne m.m.)?
Tænkte på at man bare kunne lave noget i retning af

mv /var/spool/mail/* /midlertidigt/bib
cat /midlertidigt/bib/* | sendmail

Men den går ikke. For det første leverer den kun den det kun som en
lang mail (den kan ikke finde ud af at dele den op), og for det andet
leverer den det slet ikke med mindre man fjerner "Delivered-To:"
linien i headeren.


Det andet problem kunne man ordne ved at køre

cat /midlertidigt/bib/* | grep -iv Delivered-To: | sendmail

Et nyt problem ville så bare være hvis nogen havde Skrevet
"Delivered-To:" i selve body på en mail, så ville det også forsvinde.



Findes der ikke en "rigtig" måde at gøre det på


Thor

P.S. Jeg bruger Postfix

 
 
Peter Mogensen (14-08-2002)
Kommentar
Fra : Peter Mogensen


Dato : 14-08-02 10:53

Hej Thor...
Jeg skal ikke lige kunne garantere at der ikke er en "officiel" postfix
måde at gøre det du vil på, men det er klart at dit lille script ikke
virker.


Thor Dreier wrote:
> cat /midlertidigt/bib/* | sendmail
>
> Men den går ikke. For det første leverer den kun den det kun som en
> lang mail (den kan ikke finde ud af at dele den op),

Det er jo klart. Det er det 'cat' gør. (conCATenate).

> og for det andet
> leverer den det slet ikke med mindre man fjerner "Delivered-To:"
> linien i headeren.
> Det andet problem kunne man ordne ved at køre
>
> cat /midlertidigt/bib/* | grep -iv Delivered-To: | sendmail
>
> Et nyt problem ville så bare være hvis nogen havde Skrevet
> "Delivered-To:" i selve body på en mail, så ville det også forsvinde.

Lidt usandsynligt, men hvis du vil være HELT sikker på at det kun er
Header-linier må du jo bruge formail til at behandle mailen.
Ellers ville det da hjælpe lidt med at matche på "^Delivered-To: "
istedet. (bemærk "^").

> Findes der ikke en "rigtig" måde at gøre det på

Send dem en af gangen til sendmail. F.eks:

for F in /midlertidigt/bib/* ;
do
   cat $F | grep -vie '^Delivered-To: " | sendmail -t -oi ;
done

"-t -oi" for at den skal finde modtageren i message-headeren istedet for
på kommandolinien og -oi er for at forhindre at et enligt '.' i en linie
får sendmail til at stoppe. (ala i SMTP).


postfixs sendmail kommando skulle opføre sig mangen til den rigtige
sendmail, så det skulle ikke gøre nogen forskel hvilken mailer du bruger.

Peter


Thor Dreier (14-08-2002)
Kommentar
Fra : Thor Dreier


Dato : 14-08-02 15:16

Peter Mogensen <apm-at-mutex-dot-dk@nospam.no> wrote in message news:<3D5A2863.80900@nospam.no>...
> > cat /midlertidigt/bib/* | sendmail
> > Men den går ikke. For det første leverer den kun den det kun som en
> > lang mail (den kan ikke finde ud af at dele den op),
> Det er jo klart. Det er det 'cat' gør. (conCATenate).
> Send dem en af gangen til sendmail. F.eks:
> for F in /midlertidigt/bib/* ;
> do
>    cat $F | grep -vie '^Delivered-To: " | sendmail -t -oi ;
> done

Problemet er at der i en enkelt fil jo ligger flere mails. Din metode
vil rigtig nok sørge for at der bliver sendt flere mails, men den vil
ikke dele de enkelte brugeres mails op.


Thor

Peter Mogensen (14-08-2002)
Kommentar
Fra : Peter Mogensen


Dato : 14-08-02 16:57

Thor Dreier wrote:

> Problemet er at der i en enkelt fil jo ligger flere mails. Din metode
> vil rigtig nok sørge for at der bliver sendt flere mails, men den vil
> ikke dele de enkelte brugeres mails op.


åh nej.. det er korrekt.. Jeg tror jeg sad og tænkte på Cyrus mailboxe.

Så er der ved ikke andet at gøre end at skrive et Perl-script der
splitter hver mailbox op på "^From " .

Peter



Leif Neland (14-08-2002)
Kommentar
Fra : Leif Neland


Dato : 14-08-02 22:00


"Peter Mogensen" <apm-at-mutex-dot-dk@nospam.no> skrev i en meddelelse
news:3D5A7DC1.2090201@nospam.no...
> Thor Dreier wrote:
>
> > Problemet er at der i en enkelt fil jo ligger flere mails. Din metode
> > vil rigtig nok sørge for at der bliver sendt flere mails, men den vil
> > ikke dele de enkelte brugeres mails op.
>

Det kan formail klare. Jeg tror den følger med procmail, eller også er det
sendmail.

Leif



Thor Dreier (15-08-2002)
Kommentar
Fra : Thor Dreier


Dato : 15-08-02 03:00

"Leif Neland" <leifn@neland.dk> wrote in message news:<3d5ac542$0$27880$edfadb0f@dspool01.news.tele.dk>...
> Det kan formail klare. Jeg tror den følger med procmail, eller også er det
> sendmail.

Tak, det var lige det jeg ledte efter.

Så kommer linien til at set nogenlunde sådan her ud:

cat * | grep -vie '^Delivered-To: ' | formail -s sendmail -t -oi


Thor

Thor Dreier (15-08-2002)
Kommentar
Fra : Thor Dreier


Dato : 15-08-02 01:09

Peter Mogensen <apm-at-mutex-dot-dk@nospam.no> wrote in message news:<3D5A7DC1.2090201@nospam.no>...
> Så er der ved ikke andet at gøre end at skrive et Perl-script der
> splitter hver mailbox op på "^From " .

Nu kan jeg ikke en skid Perl (jeg har ville lære det længe, men aldrig
kunne tage mig sammen), så jeg lavede lige et i PHP:


#!/usr/bin/php4 -q
<?php
for($i=1; $i<$_SERVER['argc']; $i++)
{
if($fp = fopen($_SERVER['argv'][$i], 'r'))
{
while(!feof($fp))
{
$line = fgets($fp, 4096);
if(ereg('^From ', $line))
{
if($sendmail)
{
pclose($sendmail);
}
$sendmail = popen('/usr/bin/sendmail', 'w');
}
if(!ereg('^Delivered-To: ', $line))
{
fputs($sendmail, $line);
}
}
fclose($fp);
}
}
?>

Niels Andersen (14-08-2002)
Kommentar
Fra : Niels Andersen


Dato : 14-08-02 12:37

Peter Mogensen wrote in <3D5A2863.80900@nospam.no>:
> for F in /midlertidigt/bib/* ;
> do
> cat $F | grep -vie '^Delivered-To: " | sendmail -t -oi ;
> done

Du får lige en "Useless Use of Cat Award"
http://www.ling.helsinki.fi/~reriksso/unix/award.html

Man kunne i stedet gøre sådan her:
grep -vie '^Delivered-To: " $F | sendmail -t -oi ;

--
Mvh.

Niels Andersen
Linux 2.4.18 - Debian testing/unstable


Thorbjoern Ravn Ande~ (14-08-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 14-08-02 13:35

Niels Andersen <niels-usenet@myplace.dk> writes:

> Du får lige en "Useless Use of Cat Award"
> http://www.ling.helsinki.fi/~reriksso/unix/award.html

Har du overvejet hvor mange cat processer du kunne have naaet at koere
mens du skrev det? :)

Uanset hvad saa synes jeg cat har sin plads, idet man klart og
tydeligt faar startet pipen paa en entydig maade, og herefter
behanlder stroemmen.

Ofte er de alternativer der kommer, svaererere at gennemskue fordi man
skal kigge ind i kommandoerne for at se hvor data kommer fra.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Peter Brodersen (14-08-2002)
Kommentar
Fra : Peter Brodersen


Dato : 14-08-02 14:11

On 14 Aug 2002 14:34:46 +0200, Thorbjoern Ravn Andersen
<thunderbear@bigfoot.com> wrote:

>Uanset hvad saa synes jeg cat har sin plads, idet man klart og
>tydeligt faar startet pipen paa en entydig maade, og herefter
>behanlder stroemmen.

.... hvilket bl.a. gør det lettere at bytte om på de led, man undervejs
pipe'r ting igennem.

--
- Peter Brodersen

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408868
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste