/ Var / mail / root dosyasını tekrar nasıl gönderebilirim?


12

Bazı yanlış yapılandırmalar sırasında / var / mail / root ve / var / mail / www-data dizinlerinde çok sayıda e-posta aldım

Nasıl bu dosyalar üzerinde "döngü" ve her posta başka bir zaman gönderebilirim?

Yanıtlar:


17

formail , procmail'in bir parçası (ve muhtemelen sisteminizde zaten kullanılabilir) bir posta kutusu alabilir, iletileri bölebilir ve ardından her birinde bir komut çalıştırabilir. Man sayfasından:

   -s   The input will be split up into separate mail messages, and  piped
        into  a  program  one  by  one (a new program is started for every
        part).  -s has to be the last option specified, the first argument
        following  it  is  expected to be the name of a program, any other
        arguments will be passed along to it.  If you  omit  the  program,
        then  formail  will  simply  concatenate the split mails on stdout
        again.  See FILENO.

Böylece istediğimi böyle yapabilirsin:

  formail -s /usr/sbin/sendmail -oi -t < /var/mail/root

3
Ama aynı zamanda kriss'in söyledikleri: yeniden adresleme; bu çözüm, yerel takma adlarınızı veya iletileri / var / mail / root'a geri göndermek dışında bir yere göndereceğinizi düzelttiğinizi varsayar. Örneğin, tüm iletileri yeniden yönlendirmek için "formail -s / usr / sbin / sendmail -oi you@somewhere.else" yapabilirsiniz.
larsks

www-data ve ls /var/mailroot'un düzgün bir şekilde yapılandırıldığını varsayarsak, "foo in ; do formail -s / usr / sbin / sendmail -oi $ foo <./$foo; done" gibi bir şey her dosyayı döngüye sokmalı ve yerel olarak teslim etmelidir ..
Tom H

3
mutt -f /var/mail/www-data

Sonra mutt içinde ...

T.*
;b

T onu etiketleme moduna geçirir ve. * Tüm mesajları etiketler. Noktalı virgül, sonraki komutu tüm etiketli iletilere uygular ve son olarak b, iletileri isteyeceği bir adrese "sıçrar".

Bellekten, sanırım ya

D.*

veya

T.*
;d

Sonra posta kutusunu boşaltır.


0

/ Var / spool / mail / xxx unix posta kutusu dosyaları, posta iletilerinin sırayla tutulduğu basit metin dosyalarıdır. Her posta mesajı, gönderen ve alım tarihi ile birlikte bir "Kimden" satırıyla (mesajın bir parçası değildir) başlar, daha sonra posta başlıkları, sonra posta gövdesi alırsınız.

Temelde sadece böyle satırları tespit dosya üzerinde döngü ve her mesajı ayıklamak sonra cyt python smtp modülü veya perl Net :: SMTP modülü gibi araçları kullanarak gönderebilirsiniz.

Hedef başka bir yerel posta kutusuysa, iletileri (Kimden satırı dahil) ona ekleyebilirsiniz. Gerçekten kök hedeflenen iletilerin de alınmasını umursamıyorsanız, tüm kök posta kutusunu başka bir posta kutusuna ekleyebilirsiniz.

Bunu yapan ve isterseniz örnek gönderecek bazı komut dosyaları olmalı.

Sorun, iletinin gerçek hedefini almak olabilir, çünkü eğer kök posta kutusunda sona ererse, muhtemelen başlangıçtan itibaren köklenmeyi hedeflediler?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.