]> Frank Brehm's Git Trees - my-stuff/py-logrotate.git/commitdiff
Versand über sendmail eingerichtet
authorFrank Brehm <frank@brehm-online.com>
Fri, 15 Jul 2011 15:31:56 +0000 (15:31 +0000)
committerFrank Brehm <frank@brehm-online.com>
Fri, 15 Jul 2011 15:31:56 +0000 (15:31 +0000)
git-svn-id: http://svn.brehm-online.com/svn/my-stuff/python/PyLogrotate/trunk@298 ec8d2aa5-1599-4edb-8739-2b3a1bc399aa

LogRotate/Config.py
LogRotate/Handler.py
LogRotate/Mailer.py
po/de/LC_MESSAGES/pylogrotate.po
po/pylogrotate.pot

index 19bf95899423b0c8f205d330d73b664d11d3a628..907d10327e81e6465e089f08152f8c046f9195a6 100755 (executable)
@@ -247,7 +247,7 @@ class LogrotateConfigurationReader(object):
         @ivar: all global options
         @type: dict
         '''
-        self.global_option['smtphost'] = 'localhost'
+        self.global_option['smtphost'] = ''
 
         #############################################
         # the rest of instance variables:
index b87399a6f65b1c7df2bacdf59c22c8bacbc25ba3..0dee8c8590b8fbb519bba60bce62e7ebec3db4f1 100755 (executable)
@@ -515,8 +515,7 @@ class LogrotateHandler(object):
         if (('mailfrom' in config_reader.global_option) and
                 (config_reader.global_option['mailfrom'])):
             self.mailer.from_address = config_reader.global_option['mailfrom']
-        if ((config_reader.global_option['smtphost']) and
-                (config_reader.global_option['smtphost'] != 'localhost')):
+        if config_reader.global_option['smtphost']:
             self.mailer.smtp_host = config_reader.global_option['smtphost']
         if 'smtpport' in config_reader.global_option:
             self.mailer.smtp_port = config_reader.global_option['smtpport']
index 3afda744dba5b2768d59cfe20293e59e8c600070..4f1c3896c98df686e8fdbd9f00cdc54c466ad744 100755 (executable)
@@ -27,6 +27,7 @@ import socket
 import csv
 
 from datetime import datetime
+from subprocess import Popen, PIPE
 
 import mimetypes
 import email.utils
@@ -132,6 +133,12 @@ class LogRotateMailer(object):
         @type: logging.getLogger
         '''
 
+        self._use_smtp = False
+        '''
+        @ivar: flag, whether SMTP should used
+        @type: bool
+        '''
+
         self._sendmail = None
         '''
         @ivar: file name of the sendmail executable
@@ -312,6 +319,7 @@ class LogRotateMailer(object):
         _ = self.t.lgettext
         if value:
             self._smtp_host = value
+            self.use_smtp = True
 
     smtp_host = property(
             _get_smtp_host,
@@ -371,6 +379,27 @@ class LogRotateMailer(object):
             "Use TLS for sending mails via SMTP (smarthost)"
     )
 
+    #------------------------------------------------------------
+    # Property 'use_smtp'
+    def _get_use_smtp(self):
+        '''
+        Getter method for property 'use_smtp'
+        '''
+        return self._use_smtp
+
+    def _set_use_smtp(self, value):
+        '''
+        Setter method for property 'use_smtp'
+        '''
+        self._use_smtp = bool(value)
+
+    use_smtp = property(
+            _get_use_smtp,
+            _set_use_smtp,
+            None,
+            "Use SMTP for sending mails instead of using sendmail"
+    )
+
     #------------------------------------------------------------
     # Other Methods
 
@@ -421,6 +450,7 @@ class LogRotateMailer(object):
         res['smtp_user']      = self.smtp_user
         res['smtp_passwd']    = self.smtp_passwd
         res['mailer_version'] = self.mailer_version
+        res['use_smtp']       = self.use_smtp
 
         return res
 
@@ -476,6 +506,9 @@ class LogRotateMailer(object):
                     msg = _("No execute permissions to '%s'.") % (prog)
                     self.logger.warning(msg)
 
+        if not self.sendmail:
+            self.use_smtp = True
+
         return
 
     #-------------------------------------------------------
@@ -619,8 +652,91 @@ class LogRotateMailer(object):
             msg = _("Generated E-mail:") + "\n" + composed
             self.logger.debug(msg)
 
+        if (not self.use_smtp) and self.sendmail:
+            return self._send_per_sendmail(composed)
+        else:
+            msg = _("Sending mails via SMTP currently not possible.")
+            self.logger.info(msg)
+            return False
+
         return True
 
+    #-------------------------------------------------------
+    def _send_per_sendmail(self, mail):
+        '''
+        Sending the given mail per sendmail executable.
+
+        Raises a LogRotateMailerError on harder errors.
+
+        @param mail: the complete mail (header and body) as a string
+        @type mail:  str
+
+        @return: success of sending
+        @rtype:  bool
+        '''
+
+        _ = self.t.lgettext
+
+        if not self.sendmail:
+            msg = _("There is no sendmail executable available.")
+            raise LogRotateMailerError(msg)
+            return False
+
+        args = []
+        args.append(self.sendmail)
+        args.append('-t')
+
+        msg = (_("Executing command: '%s'.") % (self.sendmail + " -t"))
+        self.logger.debug(msg)
+
+        if self.test_mode:
+            return True
+
+        try:
+            sm = Popen(args, stdin=PIPE, stdout=PIPE,
+                       stderr=PIPE, close_fds=False)
+            stdout_data = None
+            stderr_data = None
+            (stdout_data, stderr_data) = sm.communicate(mail)
+            returncode = sm.wait()
+
+            if self.verbose > 1:
+                msg = _("Got returncode: '%s'.") % (returncode)
+                self.logger.debug(msg)
+
+                msg = ''
+                if stdout_data:
+                    msg = _("Output on STDOUT: '%s'.") % (stdout_data)
+                else:
+                    msg = _("No output on %s.") % ('STDOUT')
+                self.logger.debug(msg)
+
+            if stderr_data:
+                msg = ((_("Error message of '%s':") % (self.sendmail)) +
+                        "\n" + stderr_data)
+                self.logger.warning(msg)
+            else:
+                if self.verbose > 1:
+                    msg = _("No output on %s.") % ('STDERR')
+                    self.logger.debug(msg)
+
+            if returncode < 0:
+                msg = _("Child was terminated by signal %d.") % (-returncode)
+                self.logger.error(msg)
+                return False
+
+            if returncode != 0:
+                return False
+
+            return True
+
+        except OSError, e:
+            msg = _("Execution failed: %s") % (str(e))
+            self.logger.error(msg)
+            return False
+
+        return False
+
 #========================================================================
 
 if __name__ == "__main__":
index 664fc8387d115f5251b25186378a5a07d2d7ccd9..577b20c9a9cfa0236520435378f174fec83e16a9 100644 (file)
@@ -6,14 +6,13 @@
 #
 # $Id$
 # $URL$
-#
-#
+
 msgid ""
 msgstr ""
 "Project-Id-Version: pylogrotate 0.6.0\n"
 "Report-Msgid-Bugs-To: frank@brehm-online.com\n"
-"POT-Creation-Date: 2011-07-15 13:16+0200\n"
-"PO-Revision-Date: 2011-07-15 13:25+0200\n"
+"POT-Creation-Date: 2011-07-15 17:29+0200\n"
+"PO-Revision-Date: 2011-07-15 17:30+0200\n"
 "Last-Translator: Frank Brehm <frank@brehm-online.com>\n"
 "Language-Team: de <LL@li.org>\n"
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
@@ -87,12 +86,12 @@ msgstr "Argumente"
 msgid "Called with '%s'."
 msgstr "Aufgerufen mit »%s«."
 
-#: LogRotate/Handler.py:1904
+#: LogRotate/Handler.py:1903
 #, python-format
 msgid "Check, whether logfile '%s' should rotated."
 msgstr "Überprüfe, ob die Logdatei »%s« rotiert werden muß."
 
-#: LogRotate/Handler.py:1244
+#: LogRotate/Handler.py:1243
 #, python-format
 msgid "Checking file '%s' for deleting ..."
 msgstr "Überprüfe Datei »%s« für Löschen ..."
@@ -155,7 +154,7 @@ msgstr ""
 msgid "Child in script '%(name)s' was terminated by signal %(retcode)d."
 msgstr "Kindprozeß in Skript »%(name)s« wurde durch Signal %(retcode)d beendet."
 
-#: LogRotate/Handler.py:1868
+#: LogRotate/Handler.py:1867 LogRotate/Mailer.py:724
 #, python-format
 msgid "Child was terminated by signal %d."
 msgstr "Kindprozess wurde durch Signal %d beendet."
@@ -177,17 +176,17 @@ msgstr "Allgemeine Optionen"
 msgid "Compress command '%s' not found."
 msgstr "Das Komprimierungskommando »%s« wurde nicht gefunden."
 
-#: LogRotate/Handler.py:2143
+#: LogRotate/Handler.py:2142
 #, python-format
 msgid "Compress options: '%s'."
 msgstr "Komprimierungsoptionen: »%s«."
 
-#: LogRotate/Handler.py:2064
+#: LogRotate/Handler.py:2063
 #, python-format
 msgid "Compressing file '%(file)s' to '%(target)s' with '%(cmd)s' ..."
 msgstr "Komprimiere Datei »%(file)s« zu »%(target)s« mit »%(cmd)s« ..."
 
-#: LogRotate/Handler.py:2112
+#: LogRotate/Handler.py:2111
 #, python-format
 msgid ""
 "Compressing source '%(source)s' to target '%(target)s' with command "
@@ -196,8 +195,8 @@ msgstr ""
 "Komprimiere Quelldatei »%(source)s« zu Zieldatei »%(target)s« mit "
 "Kommando »%(cmd)s«."
 
-#: LogRotate/Handler.py:2341 LogRotate/Handler.py:2408
-#: LogRotate/Handler.py:2483
+#: LogRotate/Handler.py:2340 LogRotate/Handler.py:2407
+#: LogRotate/Handler.py:2482
 #, python-format
 msgid ""
 "Compressing source '%(source)s' to target '%(target)s' with module "
@@ -206,11 +205,11 @@ msgstr ""
 "Komprimiere Quelldatei »%(source)s« zu Zieldatei »%(target)s« mit Modul "
 "»%(module)s«."
 
-#: LogRotate/Handler.py:2016
+#: LogRotate/Handler.py:2015
 msgid "Compression of all uncompressed logfiles ..."
 msgstr "Komprimierung aller unkomprimierten Logdateien ..."
 
-#: LogRotate/Handler.py:1168
+#: LogRotate/Handler.py:1167
 #, python-format
 msgid "Compression of file '%s' will be delayed."
 msgstr "Die Komprimierung der Datei »%s« wird verschoben."
@@ -223,21 +222,21 @@ msgstr "Nur Überprüfung der Konfiguration."
 msgid "Configuration reader object structure"
 msgstr "Objektstruktur des Konfigurtionslesers"
 
-#: LogRotate/Handler.py:2229
+#: LogRotate/Handler.py:2228
 #, python-format
 msgid "Copying all file metadata to target '%s' ..."
 msgstr "Kopiere alle Datei-Metadaten zu Zielobjekt »%s« ..."
 
-#: LogRotate/Handler.py:943
+#: LogRotate/Handler.py:942
 #, python-format
 msgid "Copying file '%(from)s' => '%(to)s'."
 msgstr "Kopiere Datei »%(from)s« => »%(to)s«."
 
-#: LogRotate/Handler.py:2299
+#: LogRotate/Handler.py:2298
 msgid "Copying ownership from source to target."
 msgstr "Kopiere Besitzerschaft von Quell- zu Zielobjekt."
 
-#: LogRotate/Handler.py:2245
+#: LogRotate/Handler.py:2244
 #, python-format
 msgid ""
 "Copying permissions and timestamps from source '%(src)s' to target "
@@ -285,80 +284,80 @@ msgstr "Konnte Statusdatei »%s« nicht lesen: "
 msgid "Couldn't detect prefix '%s'."
 msgstr "Konnte keinen Präfix in »%s« ermitteln."
 
-#: LogRotate/Handler.py:585
+#: LogRotate/Handler.py:584
 #, python-format
 msgid "Couldn't open PID file '%(file)s' for reading: %(msg)s"
 msgstr "Konnte PID-Datei »%(file)s« nicht zum Lesen öffnen: %(msg)s"
 
-#: LogRotate/Handler.py:661
+#: LogRotate/Handler.py:660
 #, python-format
 msgid "Couldn't open PID file '%(file)s' for writing: %(msg)s"
 msgstr "Konnte PID-Datei »%(file)s« nicht zum Schreiben öffnen: %(msg)s"
 
-#: LogRotate/Handler.py:1796
+#: LogRotate/Handler.py:1795
 #, python-format
 msgid "Create permissions: %(mode)4o, Owner-UID: %(uid)d, Group-GID: %(gid)d"
 msgstr "Erstellungsrechte: %(mode)4o, Besitzer-UID: %(uid)d, Besitzer-GID: %(gid)d"
 
-#: LogRotate/Handler.py:1784
+#: LogRotate/Handler.py:1783
 #, python-format
 msgid "Creating directory '%s' ..."
 msgstr "Erstelle Verzeichnis »%s« ..."
 
-#: LogRotate/Handler.py:1752
+#: LogRotate/Handler.py:1751
 #, python-format
 msgid "Creating olddir '%s' recursive ..."
 msgstr "Erstelle Olddir-Verzeichnis »%s« rekursiv ..."
 
-#: LogRotate/Handler.py:1247
+#: LogRotate/Handler.py:1246
 #, python-format
 msgid "Current count: %(count)d, current age: %(age)d seconds"
 msgstr "Aktuelle Anzahl: %(count)d, aktuelles Alter: %(age)d Sekunden"
 
-#: LogRotate/Handler.py:1557
+#: LogRotate/Handler.py:1556
 #, python-format
 msgid "Cyclic rotation from '%(from)s' to '%(to)s'."
 msgstr "Zyklische Rotation von »%(from)s« zu »%(to)s«."
 
-#: LogRotate/Handler.py:1948
+#: LogRotate/Handler.py:1947
 #, python-format
 msgid "Date of last rotation: %s."
 msgstr "Zeitpunkt der letzten Rotation: %s."
 
-#: LogRotate/Handler.py:1968
+#: LogRotate/Handler.py:1967
 #, python-format
 msgid "Date of next rotation '%(next)s' is in future, rotation not necessary."
 msgstr ""
 "Der Zeitpunkt der nächsten Rotation »%(next)s« liegt in der Zukunft, eine"
 " Rotation ist deshalb nicht notwendig."
 
-#: LogRotate/Handler.py:1953
+#: LogRotate/Handler.py:1952
 #, python-format
 msgid "Date of next rotation: %s."
 msgstr "Zeitpunkt der nächsten Rotation: %s."
 
-#: LogRotate/Handler.py:1256
+#: LogRotate/Handler.py:1255
 #, python-format
 msgid "Deleting '%s' because of too much."
 msgstr "Lösche Datei »%s«, weil: zuviel."
 
-#: LogRotate/Handler.py:1266
+#: LogRotate/Handler.py:1265
 #, python-format
 msgid "Deleting '%s' because of too old."
 msgstr "Lösche Datei »%s«, weil: zu alt."
 
-#: LogRotate/Handler.py:1994
+#: LogRotate/Handler.py:1993
 #, python-format
 msgid "Deleting file '%s' ..."
 msgstr "Lösche Datei »%s« ..."
 
-#: LogRotate/Handler.py:2166 LogRotate/Handler.py:2373
-#: LogRotate/Handler.py:2448 LogRotate/Handler.py:2523
+#: LogRotate/Handler.py:2165 LogRotate/Handler.py:2372
+#: LogRotate/Handler.py:2447 LogRotate/Handler.py:2522
 #, python-format
 msgid "Deleting uncompressed file '%s' ..."
 msgstr "Lösche unkomprimierte Datei »%s« ..."
 
-#: LogRotate/Handler.py:1986
+#: LogRotate/Handler.py:1985
 msgid "Deletion of all superfluid logfiles ..."
 msgstr "Löschen aller überflüssigen Logdateien ..."
 
@@ -367,7 +366,7 @@ msgstr "Löschen aller überflüssigen Logdateien ..."
 msgid "Directive '%s' is not allowed outside of a logfile definition."
 msgstr "Die Direktive »%s« ist nicht außerhalb einer Logdateidefinition erlaubt."
 
-#: LogRotate/Handler.py:1771
+#: LogRotate/Handler.py:1770
 #, python-format
 msgid "Directory '%s' allready exists, not created."
 msgstr "Verzeichnis »%s« existiert bereits und wird nicht angelegt."
@@ -377,14 +376,14 @@ msgstr "Verzeichnis »%s« existiert bereits und wird nicht angelegt."
 msgid "Directory '%s' doesn't exists."
 msgstr "Verzeichnis »%s« existiert nicht."
 
-#: LogRotate/Handler.py:1780
+#: LogRotate/Handler.py:1779
 #, python-format
 msgid "Directory '%s' exists, but is not a valid directory."
 msgstr ""
 "Das Verzeichnis »%s« existiert bereits, ist aber kein gültiges "
 "Verzeichnis."
 
-#: LogRotate/Handler.py:1748
+#: LogRotate/Handler.py:1747
 #, python-format
 msgid "Directory chain to create: '%s'."
 msgstr "Verzeichniskette zum Erstellen: »%s«."
@@ -393,7 +392,7 @@ msgstr "Verzeichniskette zum Erstellen: »%s«."
 msgid "Display brief usage message and exit."
 msgstr "Zeigt einen kurzen Text zur Verwendung und beendet sich."
 
-#: LogRotate/Handler.py:901
+#: LogRotate/Handler.py:900
 #, python-format
 msgid "Do rotate logfile '%s' ..."
 msgstr "Rotiere Logdatei »%s« ..."
@@ -406,65 +405,70 @@ msgstr "Testmodus, Kommandos werden nur simuliert (beinhaltet -v und -T)"
 msgid "End of a logfile definition."
 msgstr "Ende einer Logdateidefinition."
 
-#: LogRotate/Handler.py:1036 LogRotate/Handler.py:2286
+#: LogRotate/Mailer.py:715
+#, python-format
+msgid "Error message of '%s':"
+msgstr "Fehlermeldung von »%s«:"
+
+#: LogRotate/Handler.py:1035 LogRotate/Handler.py:2285
 #, python-format
 msgid "Error on chmod of '%(target)s': %(err)s"
 msgstr "Fehler beim Setzen der Rechte von »%(target)s«: %(err)s"
 
-#: LogRotate/Handler.py:1061 LogRotate/Handler.py:2314
+#: LogRotate/Handler.py:1060 LogRotate/Handler.py:2313
 #, python-format
 msgid "Error on chown of '%(file)s': %(err)s"
 msgstr "Fehler beim Setzen der Besitzerschaft von »%(file)s«: %(err)s"
 
-#: LogRotate/Handler.py:1829
+#: LogRotate/Handler.py:1828
 #, python-format
 msgid "Error on chowning directory '%(dir)s': %(err)s"
 msgstr "Fehler beim Ändern der Besitzrechte von Verzeichnis »%(dir)s«: %(err)s"
 
-#: LogRotate/Handler.py:950
+#: LogRotate/Handler.py:949
 #, python-format
 msgid "Error on copying '%(from)s' => '%(to)s': %(err)s"
 msgstr "Fehler beim Kopieren von »%(from)s« => »%(to)s«: %(err)s"
 
-#: LogRotate/Handler.py:1809
+#: LogRotate/Handler.py:1808
 #, python-format
 msgid "Error on creating directory '%(dir)s': %(err)s"
 msgstr "Fehler beim Erstellen von Verzeichnis »%(dir)s«: %(err)s"
 
-#: LogRotate/Handler.py:1003
+#: LogRotate/Handler.py:1002
 #, python-format
 msgid "Error on creating file '%(from)s': %(err)s"
 msgstr "Fehler beim Erstellen der Datei »%(from)s«: %(err)s"
 
-#: LogRotate/Handler.py:924 LogRotate/Handler.py:985
+#: LogRotate/Handler.py:923 LogRotate/Handler.py:984
 #, python-format
 msgid "Error on moving '%(from)s' => '%(to)s': %(err)s"
 msgstr ""
 "Fehler beim Umbenennen bzw. Verschieben von »%(from)s« => »%(to)s«: "
 "%(err)s"
 
-#: LogRotate/Handler.py:2422 LogRotate/Handler.py:2497
+#: LogRotate/Handler.py:2421 LogRotate/Handler.py:2496
 #, python-format
 msgid "Error on open file '%(file)s' on reading: %(err)s"
 msgstr "Fehler beim Öffnen der Datei »%(file)s« zum Schreiben: %(err)s"
 
-#: LogRotate/Handler.py:2360 LogRotate/Handler.py:2432
-#: LogRotate/Handler.py:2507
+#: LogRotate/Handler.py:2359 LogRotate/Handler.py:2431
+#: LogRotate/Handler.py:2506
 #, python-format
 msgid "Error on open file '%(file)s' on writing: %(err)s"
 msgstr "Fehler beim Öffnen der Datei »%(file)s« zum Schreiben: %(err)s"
 
-#: LogRotate/Handler.py:2000
+#: LogRotate/Handler.py:1999
 #, python-format
 msgid "Error on removing file '%(file)s': %(err)s"
 msgstr "Fehler beim Löschen der Datei »%(file)s«: %(err)s"
 
-#: LogRotate/Handler.py:2268
+#: LogRotate/Handler.py:2267
 #, python-format
 msgid "Error on setting times on target file '%(target)s': %(err)s"
 msgstr "Fehler beim Setzen der Zeitstempel von Zielojekt »%(target)s«: %(err)s"
 
-#: LogRotate/Handler.py:965
+#: LogRotate/Handler.py:964
 #, python-format
 msgid "Error on truncing file '%(from)s': %(err)s"
 msgstr "Fehler beim Abschneiden der Datei »%(from)s«: %(err)s"
@@ -474,33 +478,33 @@ msgstr "Fehler beim Abschneiden der Datei »%(from)s«: %(err)s"
 msgid "Error removing PID file '%(file)s': %(msg)"
 msgstr "Fehler beim Löschen der PID-Datei »%(file)s«: %(msg)"
 
-#: LogRotate/Handler.py:2173 LogRotate/Handler.py:2380
-#: LogRotate/Handler.py:2455 LogRotate/Handler.py:2530
+#: LogRotate/Handler.py:2172 LogRotate/Handler.py:2379
+#: LogRotate/Handler.py:2454 LogRotate/Handler.py:2529
 #, python-format
 msgid "Error removing uncompressed file '%(file)s': %(msg)"
 msgstr "Fehler beim Löschen der unkomprimierten Datei »%(file)s«: %(msg)"
 
-#: LogRotate/Handler.py:1857
+#: LogRotate/Handler.py:1856 LogRotate/Mailer.py:689
 #, python-format
 msgid "Executing command: '%s'."
 msgstr "Führe Kommando aus: »%s«."
 
-#: LogRotate/Handler.py:792
+#: LogRotate/Handler.py:791
 #, python-format
 msgid "Executing firstaction script '%s' ..."
 msgstr "Führe Firstaction-Skript »%s« aus ..."
 
-#: LogRotate/Handler.py:864
+#: LogRotate/Handler.py:863
 #, python-format
 msgid "Executing lastaction script '%s' ..."
 msgstr "Führe Lastaction-Skript »%s« aus ..."
 
-#: LogRotate/Handler.py:842
+#: LogRotate/Handler.py:841
 #, python-format
 msgid "Executing postrun script '%s' ..."
 msgstr "Führe Postrun-Skript »%s« aus ..."
 
-#: LogRotate/Handler.py:813
+#: LogRotate/Handler.py:812
 #, python-format
 msgid "Executing prerun script '%s' ..."
 msgstr "Führe Prerun-Skript »%s« aus ..."
@@ -510,7 +514,7 @@ msgstr "Führe Prerun-Skript »%s« aus ..."
 msgid "Executing script '%(name)s' with command: '%(cmd)s'"
 msgstr "Führe Skript »%(name)s« mit dem Kommando »%(cmd)s« aus."
 
-#: LogRotate/Handler.py:1875
+#: LogRotate/Handler.py:1874 LogRotate/Mailer.py:734
 #, python-format
 msgid "Execution failed: %s"
 msgstr "Ausführung ging schief: %s"
@@ -524,44 +528,44 @@ msgstr "Die Ausführung des Skriptes »%(name)s« ging schief: %(error)s"
 msgid "Failing size definition."
 msgstr "Fehlende Größenangabe."
 
-#: LogRotate/Config.py:694 LogRotate/Config.py:721 LogRotate/Mailer.py:523
+#: LogRotate/Config.py:694 LogRotate/Config.py:721 LogRotate/Mailer.py:556
 #, python-format
 msgid "File '%s' doesn't exists."
 msgstr "Die Datei »%s« existiert nicht."
 
-#: LogRotate/Handler.py:2058
+#: LogRotate/Handler.py:2057
 #, python-format
 msgid "File '%s' has a size of 0, skip compressing."
 msgstr "Die Datei »%s« hat die Größe Null, übergehe Komprimierung."
 
-#: LogRotate/Mailer.py:528
+#: LogRotate/Mailer.py:561
 #, python-format
 msgid "File '%s' is not a regular file."
 msgstr "Die Datei »%s« ist keine reguläre Datei."
 
-#: LogRotate/Handler.py:1154
+#: LogRotate/Handler.py:1153
 #, python-format
 msgid "File '%s' seems to be compressed, skip it."
 msgstr "Datei »%s« scheint schon komprimiert zu sein, übergehe sie."
 
-#: LogRotate/Handler.py:1161
+#: LogRotate/Handler.py:1160
 #, python-format
 msgid "File '%s' will be deleted, compression unnecessary."
 msgstr "Die Datei »%s« wird gelöscht, keine Komprimierung notwendig."
 
-#: LogRotate/Handler.py:2219 LogRotate/Handler.py:2237
+#: LogRotate/Handler.py:2218 LogRotate/Handler.py:2236
 #, python-format
 msgid "File or directory '%s' doesn't exists."
 msgstr "Die Datei oder das Verzeichnis »%s« existiert nicht."
 
-#: LogRotate/Handler.py:1959
+#: LogRotate/Handler.py:1958
 #, python-format
 msgid "Filesize %(filesize)d is less than %(maxsize)d, rotation not necessary."
 msgstr ""
 "Die Dateigröße %(filesize)d ist geringer als %(maxsize)d, eine Rotation "
 "ist deshalb nicht notwendig."
 
-#: LogRotate/Handler.py:1924
+#: LogRotate/Handler.py:1923
 #, python-format
 msgid "Filesize of '%(file)s': %(size)d."
 msgstr "Dateigröße von »%(file)s«: %(size)d."
@@ -632,15 +636,15 @@ msgstr "Logdatei »%(file)s« zum Suchmuster »%(pattern)s« gefunden."
 msgid "Found logfile '%(file)s' with rotation date '%(date)s'."
 msgstr "Logdateidefinition für »%(file)s« mit Zeitpunkt »%(date)s« gefunden."
 
-#: LogRotate/Handler.py:1179
+#: LogRotate/Handler.py:1178
 msgid "Found logfiles to compress:"
 msgstr "Gefundene Logdateien für Komprimierung:"
 
-#: LogRotate/Handler.py:1274
+#: LogRotate/Handler.py:1273
 msgid "Found logfiles to delete:"
 msgstr "Gefundene Logdateien zum Löschen:"
 
-#: LogRotate/Handler.py:1449
+#: LogRotate/Handler.py:1448
 msgid "Found old logfiles:"
 msgstr "Gefundene alte Logdateien:"
 
@@ -649,7 +653,7 @@ msgstr "Gefundene alte Logdateien:"
 msgid "Found option '%(opt)s' with value '%(val)s'."
 msgstr "Option »%(opt)s« mit Wert »%(val)s« gefunden."
 
-#: LogRotate/Handler.py:1575
+#: LogRotate/Handler.py:1574
 msgid "Found rotations:"
 msgstr "Gefundene Rotationen:"
 
@@ -673,7 +677,7 @@ msgstr ""
 "Wert »%(value)s« nach boolscher Option »%(option)s« gefunden, wird "
 "ignoriert."
 
-#: LogRotate/Mailer.py:619
+#: LogRotate/Mailer.py:652
 msgid "Generated E-mail:"
 msgstr "Generierte E-Mail:"
 
@@ -703,12 +707,12 @@ msgstr "Mailadress-Paar gefunden:"
 msgid "Got returncode for script '%(name)s': '%(retcode)s'"
 msgstr "Habe Rückggabewert »%(retcode)s« für Skript »%(name)s« erhalten."
 
-#: LogRotate/Handler.py:1865
+#: LogRotate/Handler.py:1864 LogRotate/Mailer.py:704
 #, python-format
 msgid "Got returncode: '%s'."
 msgstr "Erhaltener Rückgabewert: »%s«."
 
-#: LogRotate/Mailer.py:582
+#: LogRotate/Mailer.py:615
 #, python-format
 msgid "Guessed content-type: '%(ctype)s' and encoding '%(encoding)s'."
 msgstr "Erratener Content-Type: »%(ctype)s«, und Encoding: »%(encoding)s«."
@@ -749,7 +753,7 @@ msgstr ""
 msgid "Incompatible version of status file '%(file)s': %(header)s"
 msgstr "Inkompatible Version der Statusdatei »%(file)s«: %(header)s"
 
-#: LogRotate/Mailer.py:459
+#: LogRotate/Mailer.py:489
 msgid "Initial search for the sendmail executable ..."
 msgstr "Initiale Suche nach dem »sendmail«-Programm ..."
 
@@ -793,7 +797,7 @@ msgstr "Ungültige Gruppe »%(group)s« in »%(what)s«."
 msgid "Invalid mail address for 'mailfrom' given: '%s'."
 msgstr "Ungültige Mailadresse »%s« für »mailfrom« angegeben."
 
-#: LogRotate/Mailer.py:222 LogRotate/Mailer.py:226
+#: LogRotate/Mailer.py:229 LogRotate/Mailer.py:233
 #, python-format
 msgid "Invalid mail address given: '%s'."
 msgstr "Ungültige Mailadresse übergeben: »%s«."
@@ -851,31 +855,31 @@ msgstr ""
 "Die Logdatei »%(logfile)s« wurde bereits definiert (Datei »%(cfgfile)s«, "
 "Zeile %(rownum)d) und wird damit nicht noch einmal berücksichtigt."
 
-#: LogRotate/Handler.py:745
+#: LogRotate/Handler.py:744
 #, python-format
 msgid "Logfile '%s' WILL rotated."
 msgstr "Die Logdatei »%s« wird NICHT rotiert."
 
-#: LogRotate/Handler.py:1908
+#: LogRotate/Handler.py:1907
 #, python-format
 msgid "Logfile '%s' doesn't exists, not rotated."
 msgstr "Die Logdatei »%s« existiert nicht und wird demzufolge auch nicht rotiert."
 
-#: LogRotate/Handler.py:1931
+#: LogRotate/Handler.py:1930
 #, python-format
 msgid "Logfile '%s' has a filesize of Zero, not rotated."
 msgstr ""
 "Die Logdatei »%s« hate eine Dateigröße von Null und wird deshalb auch "
 "nicht rotiert."
 
-#: LogRotate/Handler.py:1917
+#: LogRotate/Handler.py:1916
 #, python-format
 msgid "Logfile '%s' is not a regular file, not rotated."
 msgstr ""
 "Die Logdatei »%s« ist keine reguläre Datei und wird deshalb auch nicht "
 "rotiert."
 
-#: LogRotate/Handler.py:747
+#: LogRotate/Handler.py:746
 #, python-format
 msgid "Logfile '%s' will NOT rotated."
 msgstr "Die Logdatei »%s« wird NICHT rotiert."
@@ -908,42 +912,42 @@ msgstr "Logrotation initialisiert."
 msgid "Logrotating ready for work."
 msgstr "Logrotation ist bereit zur Arbeit."
 
-#: LogRotate/Handler.py:788
+#: LogRotate/Handler.py:787
 msgid "Looking, whether the firstaction script should be executed."
 msgstr "Schaue nach, ob das Firstaction-Skript ausgeführt werden soll."
 
-#: LogRotate/Handler.py:851
+#: LogRotate/Handler.py:850
 msgid "Looking, whether the lastaction script should be executed."
 msgstr "Schaue nach, ob das Lastaction-Skript ausgeführt werden soll."
 
-#: LogRotate/Handler.py:829
+#: LogRotate/Handler.py:828
 msgid "Looking, whether the postrun script should be executed."
 msgstr "Schaue nach, ob das Postrun-Skript ausgeführt werden soll."
 
-#: LogRotate/Handler.py:803
+#: LogRotate/Handler.py:802
 msgid "Looking, whether the prerun script should be executed."
 msgstr "Schaue nach, ob das Prerun-Skript ausgeführt werden soll."
 
-#: LogRotate/Mailer.py:385
+#: LogRotate/Mailer.py:414
 msgid "Mailer object will destroyed."
 msgstr "Das Mailer-Objekt wird zerstört."
 
-#: LogRotate/Handler.py:1236
+#: LogRotate/Handler.py:1235
 #, python-format
 msgid "Max. count rotations: %d"
 msgstr "Maximale Anzahl von Rotationen: %d"
 
-#: LogRotate/Handler.py:1228
+#: LogRotate/Handler.py:1227
 #, python-format
 msgid "Maxage: %d seconds"
 msgstr "Maximalalter: %d Sekunden"
 
-#: LogRotate/Handler.py:917 LogRotate/Handler.py:974
+#: LogRotate/Handler.py:916 LogRotate/Handler.py:973
 #, python-format
 msgid "Moving file '%(from)s' => '%(to)s'."
 msgstr "Benenne bzw. verschiebe Datei »%(from)s« => »%(to)s«."
 
-#: LogRotate/Handler.py:537
+#: LogRotate/Handler.py:536
 #, python-format
 msgid "Name of state file: '%s'"
 msgstr "Dateiname der Statusdatei: »%s«"
@@ -958,7 +962,7 @@ msgstr "Nutzloser Inhalt am Ende einer Logdateidefinition gefunden: »%s«."
 msgid "Negative value %(value)s for option '%(option)s' is not allowed."
 msgstr "Der negative Wert %(value)s für die Option »%(option)s« ist nicht erlaubt."
 
-#: LogRotate/Handler.py:2213
+#: LogRotate/Handler.py:2212
 msgid ""
 "Neither 'target' nor 'statinfo' was given on calling "
 "_copy_file_metadata()."
@@ -999,7 +1003,7 @@ msgstr "Neues Tabu-Muster: »%s«."
 msgid "No command to execute defined in script '%s'."
 msgstr "Kein Kommando zu Ausführung in Skript »%s« definiert."
 
-#: LogRotate/Handler.py:1132
+#: LogRotate/Handler.py:1131
 msgid "No compression defined."
 msgstr "Keine Komprimierung definiert."
 
@@ -1007,11 +1011,11 @@ msgstr "Keine Komprimierung definiert."
 msgid "No configuration file given."
 msgstr "Keine Konfigurationsdatei angegeben."
 
-#: LogRotate/Handler.py:1659
+#: LogRotate/Handler.py:1658
 msgid "No dirname directive for olddir given."
 msgstr "Kein Verzeichnis für olddir-Direktive angegeben."
 
-#: LogRotate/Mailer.py:274 LogRotate/Mailer.py:476
+#: LogRotate/Mailer.py:281 LogRotate/Mailer.py:506
 #, python-format
 msgid "No execute permissions to '%s'."
 msgstr "Keinw Ausführungsrechte auf »%s«."
@@ -1029,7 +1033,7 @@ msgstr ""
 msgid "No file or directory given in a include directive."
 msgstr "Keine Datei oder Verzeichnis in »include«-Direktive angegeben."
 
-#: LogRotate/Handler.py:681
+#: LogRotate/Handler.py:680
 msgid "No logfile definitions found."
 msgstr "Keine Logdatei-Definitionen gefunden."
 
@@ -1046,31 +1050,36 @@ msgstr "Kein Logdateimuster am Beginn einer Logdateidefinition angegeben."
 msgid "No logfile pattern defined."
 msgstr "Keine Logdatei bzw. Dateisuchmuster definiert."
 
-#: LogRotate/Handler.py:2020
+#: LogRotate/Handler.py:2019
 msgid "No logfiles to compress found."
 msgstr "Keine Logdateien zum Komprimieren gefunden."
 
-#: LogRotate/Handler.py:1990
+#: LogRotate/Handler.py:1989
 msgid "No logfiles to delete found."
 msgstr "Keine Logdateien zum Löschen gefunden."
 
-#: LogRotate/Handler.py:1223
+#: LogRotate/Handler.py:1222
 msgid "No maxage given."
 msgstr "Kein Maximalalter angegeben."
 
-#: LogRotate/Handler.py:1138 LogRotate/Handler.py:1215
+#: LogRotate/Handler.py:1137 LogRotate/Handler.py:1214
 msgid "No old logfiles available."
 msgstr "Keine alten Logdateien ermittelt."
 
-#: LogRotate/Handler.py:1183
+#: LogRotate/Handler.py:1182
 msgid "No old logfiles to compress found."
 msgstr "Keine alten Logdateien für Komprimierung gefunden."
 
-#: LogRotate/Handler.py:1278
+#: LogRotate/Handler.py:1277
 msgid "No old logfiles to delete found."
 msgstr "Keine Logdateien zum Löschen gefunden."
 
-#: LogRotate/Handler.py:616
+#: LogRotate/Mailer.py:711 LogRotate/Mailer.py:720
+#, python-format
+msgid "No output on %s."
+msgstr "Keine Ausgabe auf %s."
+
+#: LogRotate/Handler.py:615
 #, python-format
 msgid "No permission to signal the process %d ..."
 msgstr "Kein Recht, ein Signal an Prozeß %d zu senden ..."
@@ -1079,7 +1088,7 @@ msgstr "Kein Recht, ein Signal an Prozeß %d zu senden ..."
 msgid "No script name given in a script directive."
 msgstr "Kein Scriptname in Scriptdirektive angegeben."
 
-#: LogRotate/Handler.py:599
+#: LogRotate/Handler.py:598
 #, python-format
 msgid "No useful information found in PID file '%(file)s': '%(line)s'"
 msgstr "Keine sinnvolle Information in PID-Datei »%(file)s« gefunden: »%(line)s«"
@@ -1096,29 +1105,29 @@ msgstr ""
 msgid "No write access to status file '%s'."
 msgstr "Kein Schreibzugriff auf Statusdatei »%s«."
 
-#: LogRotate/Handler.py:1729
+#: LogRotate/Handler.py:1728
 #, python-format
 msgid "No write and execute access to olddir '%s'."
 msgstr "Keine Schreib- und Ausführungsrechte auf das Olddir-Verzeichnis »%s«."
 
-#: LogRotate/Handler.py:1723
+#: LogRotate/Handler.py:1722
 #, python-format
 msgid "Olddir '%s' allready exists, not created."
 msgstr "Das Olddir-Verzeichnis »%s« existiert bereits und wird nicht angelegt."
 
-#: LogRotate/Handler.py:1737
+#: LogRotate/Handler.py:1736
 #, python-format
 msgid "Olddir '%s' exists, but is not a valid directory."
 msgstr ""
 "Das Olddir-Verzeichnis »%s« existiert bereits, ist aber kein gültiges "
 "Verzeichnis."
 
-#: LogRotate/Handler.py:1715
+#: LogRotate/Handler.py:1714
 #, python-format
 msgid "Olddir name is now '%s'."
 msgstr "Der Olddir-Name ist jetzt »%s«."
 
-#: LogRotate/Mailer.py:282
+#: LogRotate/Mailer.py:289
 #, python-format
 msgid "Only absolute path allowed for a sendmail command: '%s'."
 msgstr "Für das »sendmail«-Kommando sind nur absolute Pfadangaben erlaubt: »%s«."
@@ -1143,8 +1152,8 @@ msgstr ""
 "Nur ein Scriptname in einer Scriptdirektive erlaubt, der erste wird "
 "verwendet."
 
-#: LogRotate/Handler.py:1045 LogRotate/Handler.py:1816
-#: LogRotate/Handler.py:2303
+#: LogRotate/Handler.py:1044 LogRotate/Handler.py:1815
+#: LogRotate/Handler.py:2302
 msgid "Only root may execute chown()."
 msgstr "Nur root darf Besitzrechte ändern."
 
@@ -1210,12 +1219,17 @@ msgstr "Die Option »taboo%s« ist innerhalb einer Logfiledefinition nicht erlau
 msgid "Options"
 msgstr "Optionen"
 
-#: LogRotate/Handler.py:570
+#: LogRotate/Mailer.py:709
+#, python-format
+msgid "Output on STDOUT: '%s'."
+msgstr "Ausgabe auf STDOUT: »%s«."
+
+#: LogRotate/Handler.py:569
 #, python-format
 msgid "PID file '%s' doesn't exists."
 msgstr "PID-Datei »%s« existiert nicht."
 
-#: LogRotate/Handler.py:547
+#: LogRotate/Handler.py:546
 #, python-format
 msgid "PID file: '%s'"
 msgstr "PID-Datei: »%s«"
@@ -1241,7 +1255,7 @@ msgstr "Pfad zur Statusdatei (im Unterschied zur Konfiguration)"
 msgid "Pattern '%s'."
 msgstr "Suchmuster »%s«."
 
-#: LogRotate/Handler.py:740
+#: LogRotate/Handler.py:739
 #, python-format
 msgid "Performing logfile '%s' ..."
 msgstr "Verarbeite Logdatei »%s« ..."
@@ -1261,17 +1275,17 @@ msgstr "Die Rechte auf das Verzeichnis »%s« sind okay."
 msgid "Postrotate script '%s' not found."
 msgstr "Das Postrotate-Skript »%s« wurde nicht gefunden."
 
-#: LogRotate/Handler.py:612
+#: LogRotate/Handler.py:611
 #, python-format
 msgid "Process with PID %d anonymous died."
 msgstr "Prozeß mit der PID %d ist unbekannterweise gestorben."
 
-#: LogRotate/Handler.py:624
+#: LogRotate/Handler.py:623
 #, python-format
 msgid "Process with PID %d is allready running."
 msgstr "Prozeß mit der PID %d läuft noch."
 
-#: LogRotate/Handler.py:579
+#: LogRotate/Handler.py:578
 #, python-format
 msgid "Reading PID file '%s' ..."
 msgstr "Lese PID-Datei »%s« ..."
@@ -1286,7 +1300,7 @@ msgstr "Lese Konfiguration aus »%s« ..."
 msgid "Reading status file '%s' ..."
 msgstr "Lese Statusdatei »%s« ..."
 
-#: LogRotate/Handler.py:996
+#: LogRotate/Handler.py:995
 #, python-format
 msgid "Recreating file '%s'."
 msgstr "Erstelle Datei »%s«."
@@ -1335,12 +1349,12 @@ msgstr "Rest nach Wochenermittlung: »%s«."
 msgid "Rest after years: '%s'."
 msgstr "Rest nach Jahresermittlung: »%s«."
 
-#: LogRotate/Handler.py:1546
+#: LogRotate/Handler.py:1545
 #, python-format
 msgid "Resulting target '%s' exists, retrieve cyclic rotation ..."
 msgstr "Resultierende Zieldatei »%s« existiert, ermittle zyklische Rotation ..."
 
-#: LogRotate/Handler.py:1498
+#: LogRotate/Handler.py:1497
 #, python-format
 msgid ""
 "Retrieving all movings and rotations for logfile '%(file)s' to target "
@@ -1349,20 +1363,20 @@ msgstr ""
 "Ermittle alle Umbenennungen und Rotationen für Logdatei »%(file)s« zu "
 "Zieldatei »%(target)s« ..."
 
-#: LogRotate/Handler.py:1312
+#: LogRotate/Handler.py:1311
 #, python-format
 msgid "Retrieving all old logfiles for file '%s' ..."
 msgstr "Ermittle alle alten Laogdateien zu Datei »%s« ..."
 
-#: LogRotate/Handler.py:1125
+#: LogRotate/Handler.py:1124
 msgid "Retrieving logfiles to compress ..."
 msgstr "Ermittle zu komprimierende Logdateien ..."
 
-#: LogRotate/Handler.py:1208
+#: LogRotate/Handler.py:1207
 msgid "Retrieving logfiles to delete ..."
 msgstr "Ermittle zu löschende Logdateien ..."
 
-#: LogRotate/Handler.py:1603
+#: LogRotate/Handler.py:1602
 #, python-format
 msgid "Retrieving the name of the rotated file of '%s' ..."
 msgstr "Ermittle den Namen der Rotierten Datei von »%s« ..."
@@ -1371,12 +1385,12 @@ msgstr "Ermittle den Namen der Rotierten Datei von »%s« ..."
 msgid "Rotates, compresses and mails system logs."
 msgstr "Rotiert, komprimiert und versended Systemlogdateien per Mail."
 
-#: LogRotate/Handler.py:1938
+#: LogRotate/Handler.py:1937
 #, python-format
 msgid "Rotating of '%s' because of force mode."
 msgstr "Rotation von »%s« wegen Zwangs-Modus."
 
-#: LogRotate/Handler.py:729
+#: LogRotate/Handler.py:728
 msgid "Rotating of logfile definition:"
 msgstr "Rotation der Logdatei-Definition:"
 
@@ -1385,7 +1399,7 @@ msgstr "Rotation der Logdatei-Definition:"
 msgid "Script name '%s' is allready declared, it will be overwritten."
 msgstr "Der Scriptname »%s« wurde bereits deklariert und wird überschrieben."
 
-#: LogRotate/Handler.py:1437
+#: LogRotate/Handler.py:1436
 #, python-format
 msgid "Search for pattern '%s' ..."
 msgstr "Suche nach Muster »%s« ..."
@@ -1395,12 +1409,16 @@ msgstr "Suche nach Muster »%s« ..."
 msgid "Search path '%s' doesn't exists or is not a directory."
 msgstr "Der Suchpfad »%s« existiert entweder nicht oder ist kein Verzeichnis."
 
-#: LogRotate/Mailer.py:539
+#: LogRotate/Mailer.py:572
 #, python-format
 msgid "Sending mail with attached file '%(file)s' to: %(rcpt)s"
 msgstr "Verschicke Mail mit angehängter Datei »%(file)s« an: %(rcpt)s"
 
-#: LogRotate/Mailer.py:278
+#: LogRotate/Mailer.py:658
+msgid "Sending mails via SMTP currently not possible."
+msgstr "Der Mailversand über SMTP ist gegenwärtig noch nicht verfügbar."
+
+#: LogRotate/Mailer.py:285
 #, python-format
 msgid "Sendmail command '%s' not found."
 msgstr "Das »sendmail«-Kommando »%s« wurde nicht gefunden."
@@ -1410,7 +1428,7 @@ msgstr "Das »sendmail«-Kommando »%s« wurde nicht gefunden."
 msgid "Senseless option value '%(value)s' after '%(option)s'."
 msgstr "Sinnloser Optionswert »%(value)s« nach »%(option)s«."
 
-#: LogRotate/Mailer.py:232
+#: LogRotate/Mailer.py:239
 #, python-format
 msgid "Set sender mail address to: '%s'."
 msgstr "Setze Absender-Mailadresse auf: »%s«."
@@ -1433,7 +1451,7 @@ msgstr "Setze »%(what)s« in »%(directive)s« auf %(to)f Tage."
 msgid "Setting '%(what)s' in '%(directive)s' to %(to)s."
 msgstr "Setze »%(what)s« in »%(directive)s« auf %(to)s."
 
-#: LogRotate/Handler.py:2262
+#: LogRotate/Handler.py:2261
 #, python-format
 msgid "Setting atime and mtime of target '%s'."
 msgstr "Setze Atime und Mtime von Zielobjekt »%s«."
@@ -1463,12 +1481,12 @@ msgstr "Setze Mailadresse in »%(directive)s« auf »%(addr)s«."
 msgid "Setting mailfirst in '%(directive)s' to '%(value)s'."
 msgstr "Setze mailfirst in »%(directive)s« auf »%(value)s«."
 
-#: LogRotate/Handler.py:1051
+#: LogRotate/Handler.py:1050
 #, python-format
 msgid "Setting ownership of '%(file)s' to uid %(uid)d and gid %(gid)d."
 msgstr "Setze Besitzerschaft von »%(file)s« auf UID %(uid)d und GID %(gid)d."
 
-#: LogRotate/Handler.py:1028 LogRotate/Handler.py:2278
+#: LogRotate/Handler.py:1027 LogRotate/Handler.py:2277
 #, python-format
 msgid "Setting permissions of '%(target)s' to %(mode)4o."
 msgstr "Setze Rechte von »%(target)s« auf %(mode)4o."
@@ -1500,12 +1518,12 @@ msgstr "Shred Befehl nicht gefunden, shred wird deaktiviert."
 msgid "Skip subdirectory '%s' in including."
 msgstr "Übergehe Unterverzeichnis »%s« bei Einbindung."
 
-#: LogRotate/Handler.py:2046
+#: LogRotate/Handler.py:2045
 #, python-format
 msgid "Source file '%(source)s' and target file '%(target)s' are the same file."
 msgstr "Die Quelldatei »%(source)s« und die Zieldatei »%(target)s« sind identisch."
 
-#: LogRotate/Handler.py:2038
+#: LogRotate/Handler.py:2037
 #, python-format
 msgid "Source file '%s' for compression doesn't exists."
 msgstr "Die Quelldatei »%s« für Komprimierung existiert nicht."
@@ -1543,11 +1561,11 @@ msgstr "Beginn einer Logdatei-Definition."
 msgid "Starting a new log directive with default values."
 msgstr "Beginn einer neuen Logdateidefinition mit Vorgabewerten."
 
-#: LogRotate/Handler.py:685
+#: LogRotate/Handler.py:684
 msgid "Starting underlying rotation ..."
 msgstr "Starte eigentliche Rotation ..."
 
-#: LogRotate/Handler.py:700
+#: LogRotate/Handler.py:699
 #, python-format
 msgid "State of script '%s':"
 msgstr "Status des Skripts »%s«:"
@@ -1566,11 +1584,11 @@ msgstr "Die Statusdatei »%s« is keine reguläre Datei."
 msgid "Status file object will destroyed."
 msgstr "Statusdatei-Objekt wird zerstört."
 
-#: LogRotate/Handler.py:2548
+#: LogRotate/Handler.py:2547
 msgid "Struct files2send:"
 msgstr "Sruktur files2send:"
 
-#: LogRotate/Handler.py:2124 LogRotate/Handler.py:2134
+#: LogRotate/Handler.py:2123 LogRotate/Handler.py:2133
 #, python-format
 msgid "Substituting '%(what)s' in compressoptions with '%(by)s'."
 msgstr "Ersetze »%(what)s« in den Komprimierungsoptionen durch »%(by)s«."
@@ -1606,7 +1624,7 @@ msgstr ""
 "Syntaxfehler: unausgeglichene Zahl von öffnenden und schließenden "
 "Klammern."
 
-#: LogRotate/Handler.py:2155
+#: LogRotate/Handler.py:2154
 #, python-format
 msgid ""
 "Target '%s' of compression doesn't exists after executing compression "
@@ -1615,7 +1633,7 @@ msgstr ""
 "Die Zieldatei »%s« der Komprimierung existiert nicht nach Ausführung des "
 "Komprimierungskommandos."
 
-#: LogRotate/Handler.py:2051
+#: LogRotate/Handler.py:2050
 #, python-format
 msgid "Target file '%s' for compression allready exists."
 msgstr "Die Zieldatei der Komprimierung »%s« existiert bereits."
@@ -1624,31 +1642,35 @@ msgstr "Die Zieldatei der Komprimierung »%s« existiert bereits."
 msgid "Test mode is ON."
 msgstr "Testmodus ist AN."
 
-#: LogRotate/Mailer.py:465
+#: LogRotate/Mailer.py:495
 #, python-format
 msgid "Testing for '%s' ..."
 msgstr "Teste auf »%s« ..."
 
-#: LogRotate/Handler.py:575
+#: LogRotate/Handler.py:574
 #, python-format
 msgid "Testmode, skip test of PID file '%s'."
 msgstr "Testmodus, übergehe Test der PID-Datei »%s«."
 
-#: LogRotate/Handler.py:647
+#: LogRotate/Handler.py:646
 #, python-format
 msgid "Testmode, skip writing of PID file '%s'."
 msgstr "Testmodus, übergehe Schreiben der PID-Datei »%s«."
 
-#: LogRotate/Mailer.py:209
+#: LogRotate/Mailer.py:216
 msgid "The 'From' address may not set to None."
 msgstr "Die »From«-Adresse darf nicht auf »None« gesetzt werden."
 
+#: LogRotate/Mailer.py:681
+msgid "There is no sendmail executable available."
+msgstr "Das sendmail-Programm ist nicht verfügbar."
+
 #: LogRotate/Common.py:438
 #, python-format
 msgid "Total %f days found."
 msgstr "Insgesamt %f Tage gefunden."
 
-#: LogRotate/Handler.py:958
+#: LogRotate/Handler.py:957
 #, python-format
 msgid "Truncating file '%s'."
 msgstr "Schneide Datei »%s« ab."
@@ -1658,12 +1680,12 @@ msgstr "Schneide Datei »%s« ab."
 msgid "Try reading configuration from '%s' ..."
 msgstr "Versuche, die Konfiguration aus »%s« zu lesen ..."
 
-#: LogRotate/Handler.py:1766
+#: LogRotate/Handler.py:1765
 #, python-format
 msgid "Try to create directory '%s' ..."
 msgstr "Versuche, Verzeichnis »%s« zu erstellen ..."
 
-#: LogRotate/Handler.py:606
+#: LogRotate/Handler.py:605
 #, python-format
 msgid "Trying check for process with PID %d ..."
 msgstr "Versuche, Prozeß mit der PID %d zu überprüfen ..."
@@ -1703,7 +1725,7 @@ msgstr "Versuche, »olddir«-Erstellungsnutzer »%s« festzustellen ..."
 msgid "Trying to include object '%s' ..."
 msgstr "Versuche, Objekt »%s« einzubinden ..."
 
-#: LogRotate/Handler.py:620
+#: LogRotate/Handler.py:619
 #, python-format
 msgid "Unknown error: '%s'."
 msgstr "Unbekannter Fehler: »%s«."
@@ -1718,24 +1740,24 @@ msgstr "Unbekannte Option »%s«."
 msgid "Unsupported option '%s'."
 msgstr "Nicht unterstützte Option »%s«."
 
-#: LogRotate/Handler.py:1625
+#: LogRotate/Handler.py:1624
 #, python-format
 msgid "Using '%(target)s' as target for rotation of logfile '%(logfile)s'."
 msgstr ""
 "Verwende »%(target)s« als Zieldatei der Rotation von Logdatei "
 "»%(logfile)s«."
 
-#: LogRotate/Mailer.py:269 LogRotate/Mailer.py:471
+#: LogRotate/Mailer.py:276 LogRotate/Mailer.py:501
 #, python-format
 msgid "Using '%s' as the sendmail command."
 msgstr "Verwende »%s« als »sendmail«-Kommando."
 
-#: LogRotate/Mailer.py:440
+#: LogRotate/Mailer.py:470
 #, python-format
 msgid "Using <%s> as the sender mail address."
 msgstr "Verwende <%s> als Absender-Mailadresse."
 
-#: LogRotate/Handler.py:1618
+#: LogRotate/Handler.py:1617
 #, python-format
 msgid "Using date extension '.%(ext)s' from pattern '%(pattern)s'."
 msgstr "Verwende Datumserweiterung ».%(ext)s« aus Muster »%(pattern)s«."
@@ -1762,7 +1784,7 @@ msgstr "Ausführlichkeitmodus is AN auf Level: %d"
 msgid "What the hell is this: '%s'."
 msgstr "Was zum Teufel ist das denn: »%s«?!"
 
-#: LogRotate/Handler.py:652
+#: LogRotate/Handler.py:651
 #, python-format
 msgid "Writing PID file '%s' ..."
 msgstr "Schreibe PID-Datei »%s« ..."
index 110616a3a8aae040ed0828d40ec7723dcd47d7d2..3d5594c76f17fc8753a603f8ecdb0f0531a065be 100644 (file)
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pylogrotate 0.6.0\n"
 "Report-Msgid-Bugs-To: frank@brehm-online.com\n"
-"POT-Creation-Date: 2011-07-15 13:16+0200\n"
+"POT-Creation-Date: 2011-07-15 17:29+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -83,12 +83,12 @@ msgstr ""
 msgid "Called with '%s'."
 msgstr ""
 
-#: LogRotate/Handler.py:1904
+#: LogRotate/Handler.py:1903
 #, python-format
 msgid "Check, whether logfile '%s' should rotated."
 msgstr ""
 
-#: LogRotate/Handler.py:1244
+#: LogRotate/Handler.py:1243
 #, python-format
 msgid "Checking file '%s' for deleting ..."
 msgstr ""
@@ -149,7 +149,7 @@ msgstr ""
 msgid "Child in script '%(name)s' was terminated by signal %(retcode)d."
 msgstr ""
 
-#: LogRotate/Handler.py:1868
+#: LogRotate/Handler.py:1867 LogRotate/Mailer.py:724
 #, python-format
 msgid "Child was terminated by signal %d."
 msgstr ""
@@ -169,36 +169,36 @@ msgstr ""
 msgid "Compress command '%s' not found."
 msgstr ""
 
-#: LogRotate/Handler.py:2143
+#: LogRotate/Handler.py:2142
 #, python-format
 msgid "Compress options: '%s'."
 msgstr ""
 
-#: LogRotate/Handler.py:2064
+#: LogRotate/Handler.py:2063
 #, python-format
 msgid "Compressing file '%(file)s' to '%(target)s' with '%(cmd)s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:2112
+#: LogRotate/Handler.py:2111
 #, python-format
 msgid ""
 "Compressing source '%(source)s' to target '%(target)s' with command "
 "'%(cmd)s'."
 msgstr ""
 
-#: LogRotate/Handler.py:2341 LogRotate/Handler.py:2408
-#: LogRotate/Handler.py:2483
+#: LogRotate/Handler.py:2340 LogRotate/Handler.py:2407
+#: LogRotate/Handler.py:2482
 #, python-format
 msgid ""
 "Compressing source '%(source)s' to target '%(target)s' with module "
 "'%(module)s'."
 msgstr ""
 
-#: LogRotate/Handler.py:2016
+#: LogRotate/Handler.py:2015
 msgid "Compression of all uncompressed logfiles ..."
 msgstr ""
 
-#: LogRotate/Handler.py:1168
+#: LogRotate/Handler.py:1167
 #, python-format
 msgid "Compression of file '%s' will be delayed."
 msgstr ""
@@ -211,21 +211,21 @@ msgstr ""
 msgid "Configuration reader object structure"
 msgstr ""
 
-#: LogRotate/Handler.py:2229
+#: LogRotate/Handler.py:2228
 #, python-format
 msgid "Copying all file metadata to target '%s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:943
+#: LogRotate/Handler.py:942
 #, python-format
 msgid "Copying file '%(from)s' => '%(to)s'."
 msgstr ""
 
-#: LogRotate/Handler.py:2299
+#: LogRotate/Handler.py:2298
 msgid "Copying ownership from source to target."
 msgstr ""
 
-#: LogRotate/Handler.py:2245
+#: LogRotate/Handler.py:2244
 #, python-format
 msgid ""
 "Copying permissions and timestamps from source '%(src)s' to target "
@@ -271,78 +271,78 @@ msgstr ""
 msgid "Couldn't detect prefix '%s'."
 msgstr ""
 
-#: LogRotate/Handler.py:585
+#: LogRotate/Handler.py:584
 #, python-format
 msgid "Couldn't open PID file '%(file)s' for reading: %(msg)s"
 msgstr ""
 
-#: LogRotate/Handler.py:661
+#: LogRotate/Handler.py:660
 #, python-format
 msgid "Couldn't open PID file '%(file)s' for writing: %(msg)s"
 msgstr ""
 
-#: LogRotate/Handler.py:1796
+#: LogRotate/Handler.py:1795
 #, python-format
 msgid "Create permissions: %(mode)4o, Owner-UID: %(uid)d, Group-GID: %(gid)d"
 msgstr ""
 
-#: LogRotate/Handler.py:1784
+#: LogRotate/Handler.py:1783
 #, python-format
 msgid "Creating directory '%s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:1752
+#: LogRotate/Handler.py:1751
 #, python-format
 msgid "Creating olddir '%s' recursive ..."
 msgstr ""
 
-#: LogRotate/Handler.py:1247
+#: LogRotate/Handler.py:1246
 #, python-format
 msgid "Current count: %(count)d, current age: %(age)d seconds"
 msgstr ""
 
-#: LogRotate/Handler.py:1557
+#: LogRotate/Handler.py:1556
 #, python-format
 msgid "Cyclic rotation from '%(from)s' to '%(to)s'."
 msgstr ""
 
-#: LogRotate/Handler.py:1948
+#: LogRotate/Handler.py:1947
 #, python-format
 msgid "Date of last rotation: %s."
 msgstr ""
 
-#: LogRotate/Handler.py:1968
+#: LogRotate/Handler.py:1967
 #, python-format
 msgid "Date of next rotation '%(next)s' is in future, rotation not necessary."
 msgstr ""
 
-#: LogRotate/Handler.py:1953
+#: LogRotate/Handler.py:1952
 #, python-format
 msgid "Date of next rotation: %s."
 msgstr ""
 
-#: LogRotate/Handler.py:1256
+#: LogRotate/Handler.py:1255
 #, python-format
 msgid "Deleting '%s' because of too much."
 msgstr ""
 
-#: LogRotate/Handler.py:1266
+#: LogRotate/Handler.py:1265
 #, python-format
 msgid "Deleting '%s' because of too old."
 msgstr ""
 
-#: LogRotate/Handler.py:1994
+#: LogRotate/Handler.py:1993
 #, python-format
 msgid "Deleting file '%s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:2166 LogRotate/Handler.py:2373
-#: LogRotate/Handler.py:2448 LogRotate/Handler.py:2523
+#: LogRotate/Handler.py:2165 LogRotate/Handler.py:2372
+#: LogRotate/Handler.py:2447 LogRotate/Handler.py:2522
 #, python-format
 msgid "Deleting uncompressed file '%s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:1986
+#: LogRotate/Handler.py:1985
 msgid "Deletion of all superfluid logfiles ..."
 msgstr ""
 
@@ -351,7 +351,7 @@ msgstr ""
 msgid "Directive '%s' is not allowed outside of a logfile definition."
 msgstr ""
 
-#: LogRotate/Handler.py:1771
+#: LogRotate/Handler.py:1770
 #, python-format
 msgid "Directory '%s' allready exists, not created."
 msgstr ""
@@ -361,12 +361,12 @@ msgstr ""
 msgid "Directory '%s' doesn't exists."
 msgstr ""
 
-#: LogRotate/Handler.py:1780
+#: LogRotate/Handler.py:1779
 #, python-format
 msgid "Directory '%s' exists, but is not a valid directory."
 msgstr ""
 
-#: LogRotate/Handler.py:1748
+#: LogRotate/Handler.py:1747
 #, python-format
 msgid "Directory chain to create: '%s'."
 msgstr ""
@@ -375,7 +375,7 @@ msgstr ""
 msgid "Display brief usage message and exit."
 msgstr ""
 
-#: LogRotate/Handler.py:901
+#: LogRotate/Handler.py:900
 #, python-format
 msgid "Do rotate logfile '%s' ..."
 msgstr ""
@@ -388,63 +388,68 @@ msgstr ""
 msgid "End of a logfile definition."
 msgstr ""
 
-#: LogRotate/Handler.py:1036 LogRotate/Handler.py:2286
+#: LogRotate/Mailer.py:715
+#, python-format
+msgid "Error message of '%s':"
+msgstr ""
+
+#: LogRotate/Handler.py:1035 LogRotate/Handler.py:2285
 #, python-format
 msgid "Error on chmod of '%(target)s': %(err)s"
 msgstr ""
 
-#: LogRotate/Handler.py:1061 LogRotate/Handler.py:2314
+#: LogRotate/Handler.py:1060 LogRotate/Handler.py:2313
 #, python-format
 msgid "Error on chown of '%(file)s': %(err)s"
 msgstr ""
 
-#: LogRotate/Handler.py:1829
+#: LogRotate/Handler.py:1828
 #, python-format
 msgid "Error on chowning directory '%(dir)s': %(err)s"
 msgstr ""
 
-#: LogRotate/Handler.py:950
+#: LogRotate/Handler.py:949
 #, python-format
 msgid "Error on copying '%(from)s' => '%(to)s': %(err)s"
 msgstr ""
 
-#: LogRotate/Handler.py:1809
+#: LogRotate/Handler.py:1808
 #, python-format
 msgid "Error on creating directory '%(dir)s': %(err)s"
 msgstr ""
 
-#: LogRotate/Handler.py:1003
+#: LogRotate/Handler.py:1002
 #, python-format
 msgid "Error on creating file '%(from)s': %(err)s"
 msgstr ""
 
-#: LogRotate/Handler.py:924 LogRotate/Handler.py:985
+#: LogRotate/Handler.py:923 LogRotate/Handler.py:984
 #, python-format
 msgid "Error on moving '%(from)s' => '%(to)s': %(err)s"
 msgstr ""
 
-#: LogRotate/Handler.py:2422 LogRotate/Handler.py:2497
+#: LogRotate/Handler.py:2421 LogRotate/Handler.py:2496
 #, python-format
 msgid "Error on open file '%(file)s' on reading: %(err)s"
 msgstr ""
 
-#: LogRotate/Handler.py:2360 LogRotate/Handler.py:2432
-#: LogRotate/Handler.py:2507
+#: LogRotate/Handler.py:2359 LogRotate/Handler.py:2431
+#: LogRotate/Handler.py:2506
 #, python-format
 msgid "Error on open file '%(file)s' on writing: %(err)s"
 msgstr ""
 
-#: LogRotate/Handler.py:2000
+#: LogRotate/Handler.py:1999
 #, python-format
 msgid "Error on removing file '%(file)s': %(err)s"
 msgstr ""
 
-#: LogRotate/Handler.py:2268
+#: LogRotate/Handler.py:2267
 #, python-format
 msgid "Error on setting times on target file '%(target)s': %(err)s"
 msgstr ""
 
-#: LogRotate/Handler.py:965
+#: LogRotate/Handler.py:964
 #, python-format
 msgid "Error on truncing file '%(from)s': %(err)s"
 msgstr ""
@@ -454,33 +459,33 @@ msgstr ""
 msgid "Error removing PID file '%(file)s': %(msg)"
 msgstr ""
 
-#: LogRotate/Handler.py:2173 LogRotate/Handler.py:2380
-#: LogRotate/Handler.py:2455 LogRotate/Handler.py:2530
+#: LogRotate/Handler.py:2172 LogRotate/Handler.py:2379
+#: LogRotate/Handler.py:2454 LogRotate/Handler.py:2529
 #, python-format
 msgid "Error removing uncompressed file '%(file)s': %(msg)"
 msgstr ""
 
-#: LogRotate/Handler.py:1857
+#: LogRotate/Handler.py:1856 LogRotate/Mailer.py:689
 #, python-format
 msgid "Executing command: '%s'."
 msgstr ""
 
-#: LogRotate/Handler.py:792
+#: LogRotate/Handler.py:791
 #, python-format
 msgid "Executing firstaction script '%s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:864
+#: LogRotate/Handler.py:863
 #, python-format
 msgid "Executing lastaction script '%s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:842
+#: LogRotate/Handler.py:841
 #, python-format
 msgid "Executing postrun script '%s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:813
+#: LogRotate/Handler.py:812
 #, python-format
 msgid "Executing prerun script '%s' ..."
 msgstr ""
@@ -490,7 +495,7 @@ msgstr ""
 msgid "Executing script '%(name)s' with command: '%(cmd)s'"
 msgstr ""
 
-#: LogRotate/Handler.py:1875
+#: LogRotate/Handler.py:1874 LogRotate/Mailer.py:734
 #, python-format
 msgid "Execution failed: %s"
 msgstr ""
@@ -504,42 +509,42 @@ msgstr ""
 msgid "Failing size definition."
 msgstr ""
 
-#: LogRotate/Config.py:694 LogRotate/Config.py:721 LogRotate/Mailer.py:523
+#: LogRotate/Config.py:694 LogRotate/Config.py:721 LogRotate/Mailer.py:556
 #, python-format
 msgid "File '%s' doesn't exists."
 msgstr ""
 
-#: LogRotate/Handler.py:2058
+#: LogRotate/Handler.py:2057
 #, python-format
 msgid "File '%s' has a size of 0, skip compressing."
 msgstr ""
 
-#: LogRotate/Mailer.py:528
+#: LogRotate/Mailer.py:561
 #, python-format
 msgid "File '%s' is not a regular file."
 msgstr ""
 
-#: LogRotate/Handler.py:1154
+#: LogRotate/Handler.py:1153
 #, python-format
 msgid "File '%s' seems to be compressed, skip it."
 msgstr ""
 
-#: LogRotate/Handler.py:1161
+#: LogRotate/Handler.py:1160
 #, python-format
 msgid "File '%s' will be deleted, compression unnecessary."
 msgstr ""
 
-#: LogRotate/Handler.py:2219 LogRotate/Handler.py:2237
+#: LogRotate/Handler.py:2218 LogRotate/Handler.py:2236
 #, python-format
 msgid "File or directory '%s' doesn't exists."
 msgstr ""
 
-#: LogRotate/Handler.py:1959
+#: LogRotate/Handler.py:1958
 #, python-format
 msgid "Filesize %(filesize)d is less than %(maxsize)d, rotation not necessary."
 msgstr ""
 
-#: LogRotate/Handler.py:1924
+#: LogRotate/Handler.py:1923
 #, python-format
 msgid "Filesize of '%(file)s': %(size)d."
 msgstr ""
@@ -610,15 +615,15 @@ msgstr ""
 msgid "Found logfile '%(file)s' with rotation date '%(date)s'."
 msgstr ""
 
-#: LogRotate/Handler.py:1179
+#: LogRotate/Handler.py:1178
 msgid "Found logfiles to compress:"
 msgstr ""
 
-#: LogRotate/Handler.py:1274
+#: LogRotate/Handler.py:1273
 msgid "Found logfiles to delete:"
 msgstr ""
 
-#: LogRotate/Handler.py:1449
+#: LogRotate/Handler.py:1448
 msgid "Found old logfiles:"
 msgstr ""
 
@@ -627,7 +632,7 @@ msgstr ""
 msgid "Found option '%(opt)s' with value '%(val)s'."
 msgstr ""
 
-#: LogRotate/Handler.py:1575
+#: LogRotate/Handler.py:1574
 msgid "Found rotations:"
 msgstr ""
 
@@ -647,7 +652,7 @@ msgstr ""
 msgid "Found value '%(value)s' behind the boolean option '%(option)s', ignoring."
 msgstr ""
 
-#: LogRotate/Mailer.py:619
+#: LogRotate/Mailer.py:652
 msgid "Generated E-mail:"
 msgstr ""
 
@@ -677,12 +682,12 @@ msgstr ""
 msgid "Got returncode for script '%(name)s': '%(retcode)s'"
 msgstr ""
 
-#: LogRotate/Handler.py:1865
+#: LogRotate/Handler.py:1864 LogRotate/Mailer.py:704
 #, python-format
 msgid "Got returncode: '%s'."
 msgstr ""
 
-#: LogRotate/Mailer.py:582
+#: LogRotate/Mailer.py:615
 #, python-format
 msgid "Guessed content-type: '%(ctype)s' and encoding '%(encoding)s'."
 msgstr ""
@@ -721,7 +726,7 @@ msgstr ""
 msgid "Incompatible version of status file '%(file)s': %(header)s"
 msgstr ""
 
-#: LogRotate/Mailer.py:459
+#: LogRotate/Mailer.py:489
 msgid "Initial search for the sendmail executable ..."
 msgstr ""
 
@@ -765,7 +770,7 @@ msgstr ""
 msgid "Invalid mail address for 'mailfrom' given: '%s'."
 msgstr ""
 
-#: LogRotate/Mailer.py:222 LogRotate/Mailer.py:226
+#: LogRotate/Mailer.py:229 LogRotate/Mailer.py:233
 #, python-format
 msgid "Invalid mail address given: '%s'."
 msgstr ""
@@ -821,27 +826,27 @@ msgid ""
 "%(rownum)d) and so not taken a second time."
 msgstr ""
 
-#: LogRotate/Handler.py:745
+#: LogRotate/Handler.py:744
 #, python-format
 msgid "Logfile '%s' WILL rotated."
 msgstr ""
 
-#: LogRotate/Handler.py:1908
+#: LogRotate/Handler.py:1907
 #, python-format
 msgid "Logfile '%s' doesn't exists, not rotated."
 msgstr ""
 
-#: LogRotate/Handler.py:1931
+#: LogRotate/Handler.py:1930
 #, python-format
 msgid "Logfile '%s' has a filesize of Zero, not rotated."
 msgstr ""
 
-#: LogRotate/Handler.py:1917
+#: LogRotate/Handler.py:1916
 #, python-format
 msgid "Logfile '%s' is not a regular file, not rotated."
 msgstr ""
 
-#: LogRotate/Handler.py:747
+#: LogRotate/Handler.py:746
 #, python-format
 msgid "Logfile '%s' will NOT rotated."
 msgstr ""
@@ -872,42 +877,42 @@ msgstr ""
 msgid "Logrotating ready for work."
 msgstr ""
 
-#: LogRotate/Handler.py:788
+#: LogRotate/Handler.py:787
 msgid "Looking, whether the firstaction script should be executed."
 msgstr ""
 
-#: LogRotate/Handler.py:851
+#: LogRotate/Handler.py:850
 msgid "Looking, whether the lastaction script should be executed."
 msgstr ""
 
-#: LogRotate/Handler.py:829
+#: LogRotate/Handler.py:828
 msgid "Looking, whether the postrun script should be executed."
 msgstr ""
 
-#: LogRotate/Handler.py:803
+#: LogRotate/Handler.py:802
 msgid "Looking, whether the prerun script should be executed."
 msgstr ""
 
-#: LogRotate/Mailer.py:385
+#: LogRotate/Mailer.py:414
 msgid "Mailer object will destroyed."
 msgstr ""
 
-#: LogRotate/Handler.py:1236
+#: LogRotate/Handler.py:1235
 #, python-format
 msgid "Max. count rotations: %d"
 msgstr ""
 
-#: LogRotate/Handler.py:1228
+#: LogRotate/Handler.py:1227
 #, python-format
 msgid "Maxage: %d seconds"
 msgstr ""
 
-#: LogRotate/Handler.py:917 LogRotate/Handler.py:974
+#: LogRotate/Handler.py:916 LogRotate/Handler.py:973
 #, python-format
 msgid "Moving file '%(from)s' => '%(to)s'."
 msgstr ""
 
-#: LogRotate/Handler.py:537
+#: LogRotate/Handler.py:536
 #, python-format
 msgid "Name of state file: '%s'"
 msgstr ""
@@ -922,7 +927,7 @@ msgstr ""
 msgid "Negative value %(value)s for option '%(option)s' is not allowed."
 msgstr ""
 
-#: LogRotate/Handler.py:2213
+#: LogRotate/Handler.py:2212
 msgid ""
 "Neither 'target' nor 'statinfo' was given on calling "
 "_copy_file_metadata()."
@@ -961,7 +966,7 @@ msgstr ""
 msgid "No command to execute defined in script '%s'."
 msgstr ""
 
-#: LogRotate/Handler.py:1132
+#: LogRotate/Handler.py:1131
 msgid "No compression defined."
 msgstr ""
 
@@ -969,11 +974,11 @@ msgstr ""
 msgid "No configuration file given."
 msgstr ""
 
-#: LogRotate/Handler.py:1659
+#: LogRotate/Handler.py:1658
 msgid "No dirname directive for olddir given."
 msgstr ""
 
-#: LogRotate/Mailer.py:274 LogRotate/Mailer.py:476
+#: LogRotate/Mailer.py:281 LogRotate/Mailer.py:506
 #, python-format
 msgid "No execute permissions to '%s'."
 msgstr ""
@@ -989,7 +994,7 @@ msgstr ""
 msgid "No file or directory given in a include directive."
 msgstr ""
 
-#: LogRotate/Handler.py:681
+#: LogRotate/Handler.py:680
 msgid "No logfile definitions found."
 msgstr ""
 
@@ -1006,31 +1011,36 @@ msgstr ""
 msgid "No logfile pattern defined."
 msgstr ""
 
-#: LogRotate/Handler.py:2020
+#: LogRotate/Handler.py:2019
 msgid "No logfiles to compress found."
 msgstr ""
 
-#: LogRotate/Handler.py:1990
+#: LogRotate/Handler.py:1989
 msgid "No logfiles to delete found."
 msgstr ""
 
-#: LogRotate/Handler.py:1223
+#: LogRotate/Handler.py:1222
 msgid "No maxage given."
 msgstr ""
 
-#: LogRotate/Handler.py:1138 LogRotate/Handler.py:1215
+#: LogRotate/Handler.py:1137 LogRotate/Handler.py:1214
 msgid "No old logfiles available."
 msgstr ""
 
-#: LogRotate/Handler.py:1183
+#: LogRotate/Handler.py:1182
 msgid "No old logfiles to compress found."
 msgstr ""
 
-#: LogRotate/Handler.py:1278
+#: LogRotate/Handler.py:1277
 msgid "No old logfiles to delete found."
 msgstr ""
 
-#: LogRotate/Handler.py:616
+#: LogRotate/Mailer.py:711 LogRotate/Mailer.py:720
+#, python-format
+msgid "No output on %s."
+msgstr ""
+
+#: LogRotate/Handler.py:615
 #, python-format
 msgid "No permission to signal the process %d ..."
 msgstr ""
@@ -1039,7 +1049,7 @@ msgstr ""
 msgid "No script name given in a script directive."
 msgstr ""
 
-#: LogRotate/Handler.py:599
+#: LogRotate/Handler.py:598
 #, python-format
 msgid "No useful information found in PID file '%(file)s': '%(line)s'"
 msgstr ""
@@ -1054,27 +1064,27 @@ msgstr ""
 msgid "No write access to status file '%s'."
 msgstr ""
 
-#: LogRotate/Handler.py:1729
+#: LogRotate/Handler.py:1728
 #, python-format
 msgid "No write and execute access to olddir '%s'."
 msgstr ""
 
-#: LogRotate/Handler.py:1723
+#: LogRotate/Handler.py:1722
 #, python-format
 msgid "Olddir '%s' allready exists, not created."
 msgstr ""
 
-#: LogRotate/Handler.py:1737
+#: LogRotate/Handler.py:1736
 #, python-format
 msgid "Olddir '%s' exists, but is not a valid directory."
 msgstr ""
 
-#: LogRotate/Handler.py:1715
+#: LogRotate/Handler.py:1714
 #, python-format
 msgid "Olddir name is now '%s'."
 msgstr ""
 
-#: LogRotate/Mailer.py:282
+#: LogRotate/Mailer.py:289
 #, python-format
 msgid "Only absolute path allowed for a sendmail command: '%s'."
 msgstr ""
@@ -1095,8 +1105,8 @@ msgid ""
 "used."
 msgstr ""
 
-#: LogRotate/Handler.py:1045 LogRotate/Handler.py:1816
-#: LogRotate/Handler.py:2303
+#: LogRotate/Handler.py:1044 LogRotate/Handler.py:1815
+#: LogRotate/Handler.py:2302
 msgid "Only root may execute chown()."
 msgstr ""
 
@@ -1160,12 +1170,17 @@ msgstr ""
 msgid "Options"
 msgstr ""
 
-#: LogRotate/Handler.py:570
+#: LogRotate/Mailer.py:709
+#, python-format
+msgid "Output on STDOUT: '%s'."
+msgstr ""
+
+#: LogRotate/Handler.py:569
 #, python-format
 msgid "PID file '%s' doesn't exists."
 msgstr ""
 
-#: LogRotate/Handler.py:547
+#: LogRotate/Handler.py:546
 #, python-format
 msgid "PID file: '%s'"
 msgstr ""
@@ -1189,7 +1204,7 @@ msgstr ""
 msgid "Pattern '%s'."
 msgstr ""
 
-#: LogRotate/Handler.py:740
+#: LogRotate/Handler.py:739
 #, python-format
 msgid "Performing logfile '%s' ..."
 msgstr ""
@@ -1209,17 +1224,17 @@ msgstr ""
 msgid "Postrotate script '%s' not found."
 msgstr ""
 
-#: LogRotate/Handler.py:612
+#: LogRotate/Handler.py:611
 #, python-format
 msgid "Process with PID %d anonymous died."
 msgstr ""
 
-#: LogRotate/Handler.py:624
+#: LogRotate/Handler.py:623
 #, python-format
 msgid "Process with PID %d is allready running."
 msgstr ""
 
-#: LogRotate/Handler.py:579
+#: LogRotate/Handler.py:578
 #, python-format
 msgid "Reading PID file '%s' ..."
 msgstr ""
@@ -1234,7 +1249,7 @@ msgstr ""
 msgid "Reading status file '%s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:996
+#: LogRotate/Handler.py:995
 #, python-format
 msgid "Recreating file '%s'."
 msgstr ""
@@ -1283,32 +1298,32 @@ msgstr ""
 msgid "Rest after years: '%s'."
 msgstr ""
 
-#: LogRotate/Handler.py:1546
+#: LogRotate/Handler.py:1545
 #, python-format
 msgid "Resulting target '%s' exists, retrieve cyclic rotation ..."
 msgstr ""
 
-#: LogRotate/Handler.py:1498
+#: LogRotate/Handler.py:1497
 #, python-format
 msgid ""
 "Retrieving all movings and rotations for logfile '%(file)s' to target "
 "'%(target)s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:1312
+#: LogRotate/Handler.py:1311
 #, python-format
 msgid "Retrieving all old logfiles for file '%s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:1125
+#: LogRotate/Handler.py:1124
 msgid "Retrieving logfiles to compress ..."
 msgstr ""
 
-#: LogRotate/Handler.py:1208
+#: LogRotate/Handler.py:1207
 msgid "Retrieving logfiles to delete ..."
 msgstr ""
 
-#: LogRotate/Handler.py:1603
+#: LogRotate/Handler.py:1602
 #, python-format
 msgid "Retrieving the name of the rotated file of '%s' ..."
 msgstr ""
@@ -1317,12 +1332,12 @@ msgstr ""
 msgid "Rotates, compresses and mails system logs."
 msgstr ""
 
-#: LogRotate/Handler.py:1938
+#: LogRotate/Handler.py:1937
 #, python-format
 msgid "Rotating of '%s' because of force mode."
 msgstr ""
 
-#: LogRotate/Handler.py:729
+#: LogRotate/Handler.py:728
 msgid "Rotating of logfile definition:"
 msgstr ""
 
@@ -1331,7 +1346,7 @@ msgstr ""
 msgid "Script name '%s' is allready declared, it will be overwritten."
 msgstr ""
 
-#: LogRotate/Handler.py:1437
+#: LogRotate/Handler.py:1436
 #, python-format
 msgid "Search for pattern '%s' ..."
 msgstr ""
@@ -1341,12 +1356,16 @@ msgstr ""
 msgid "Search path '%s' doesn't exists or is not a directory."
 msgstr ""
 
-#: LogRotate/Mailer.py:539
+#: LogRotate/Mailer.py:572
 #, python-format
 msgid "Sending mail with attached file '%(file)s' to: %(rcpt)s"
 msgstr ""
 
-#: LogRotate/Mailer.py:278
+#: LogRotate/Mailer.py:658
+msgid "Sending mails via SMTP currently not possible."
+msgstr ""
+
+#: LogRotate/Mailer.py:285
 #, python-format
 msgid "Sendmail command '%s' not found."
 msgstr ""
@@ -1356,7 +1375,7 @@ msgstr ""
 msgid "Senseless option value '%(value)s' after '%(option)s'."
 msgstr ""
 
-#: LogRotate/Mailer.py:232
+#: LogRotate/Mailer.py:239
 #, python-format
 msgid "Set sender mail address to: '%s'."
 msgstr ""
@@ -1379,7 +1398,7 @@ msgstr ""
 msgid "Setting '%(what)s' in '%(directive)s' to %(to)s."
 msgstr ""
 
-#: LogRotate/Handler.py:2262
+#: LogRotate/Handler.py:2261
 #, python-format
 msgid "Setting atime and mtime of target '%s'."
 msgstr ""
@@ -1409,12 +1428,12 @@ msgstr ""
 msgid "Setting mailfirst in '%(directive)s' to '%(value)s'."
 msgstr ""
 
-#: LogRotate/Handler.py:1051
+#: LogRotate/Handler.py:1050
 #, python-format
 msgid "Setting ownership of '%(file)s' to uid %(uid)d and gid %(gid)d."
 msgstr ""
 
-#: LogRotate/Handler.py:1028 LogRotate/Handler.py:2278
+#: LogRotate/Handler.py:1027 LogRotate/Handler.py:2277
 #, python-format
 msgid "Setting permissions of '%(target)s' to %(mode)4o."
 msgstr ""
@@ -1446,12 +1465,12 @@ msgstr ""
 msgid "Skip subdirectory '%s' in including."
 msgstr ""
 
-#: LogRotate/Handler.py:2046
+#: LogRotate/Handler.py:2045
 #, python-format
 msgid "Source file '%(source)s' and target file '%(target)s' are the same file."
 msgstr ""
 
-#: LogRotate/Handler.py:2038
+#: LogRotate/Handler.py:2037
 #, python-format
 msgid "Source file '%s' for compression doesn't exists."
 msgstr ""
@@ -1489,11 +1508,11 @@ msgstr ""
 msgid "Starting a new log directive with default values."
 msgstr ""
 
-#: LogRotate/Handler.py:685
+#: LogRotate/Handler.py:684
 msgid "Starting underlying rotation ..."
 msgstr ""
 
-#: LogRotate/Handler.py:700
+#: LogRotate/Handler.py:699
 #, python-format
 msgid "State of script '%s':"
 msgstr ""
@@ -1512,11 +1531,11 @@ msgstr ""
 msgid "Status file object will destroyed."
 msgstr ""
 
-#: LogRotate/Handler.py:2548
+#: LogRotate/Handler.py:2547
 msgid "Struct files2send:"
 msgstr ""
 
-#: LogRotate/Handler.py:2124 LogRotate/Handler.py:2134
+#: LogRotate/Handler.py:2123 LogRotate/Handler.py:2133
 #, python-format
 msgid "Substituting '%(what)s' in compressoptions with '%(by)s'."
 msgstr ""
@@ -1544,14 +1563,14 @@ msgstr ""
 msgid "Syntax error: unbalanced closing curly bracket found."
 msgstr ""
 
-#: LogRotate/Handler.py:2155
+#: LogRotate/Handler.py:2154
 #, python-format
 msgid ""
 "Target '%s' of compression doesn't exists after executing compression "
 "command."
 msgstr ""
 
-#: LogRotate/Handler.py:2051
+#: LogRotate/Handler.py:2050
 #, python-format
 msgid "Target file '%s' for compression allready exists."
 msgstr ""
@@ -1560,31 +1579,35 @@ msgstr ""
 msgid "Test mode is ON."
 msgstr ""
 
-#: LogRotate/Mailer.py:465
+#: LogRotate/Mailer.py:495
 #, python-format
 msgid "Testing for '%s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:575
+#: LogRotate/Handler.py:574
 #, python-format
 msgid "Testmode, skip test of PID file '%s'."
 msgstr ""
 
-#: LogRotate/Handler.py:647
+#: LogRotate/Handler.py:646
 #, python-format
 msgid "Testmode, skip writing of PID file '%s'."
 msgstr ""
 
-#: LogRotate/Mailer.py:209
+#: LogRotate/Mailer.py:216
 msgid "The 'From' address may not set to None."
 msgstr ""
 
+#: LogRotate/Mailer.py:681
+msgid "There is no sendmail executable available."
+msgstr ""
+
 #: LogRotate/Common.py:438
 #, python-format
 msgid "Total %f days found."
 msgstr ""
 
-#: LogRotate/Handler.py:958
+#: LogRotate/Handler.py:957
 #, python-format
 msgid "Truncating file '%s'."
 msgstr ""
@@ -1594,12 +1617,12 @@ msgstr ""
 msgid "Try reading configuration from '%s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:1766
+#: LogRotate/Handler.py:1765
 #, python-format
 msgid "Try to create directory '%s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:606
+#: LogRotate/Handler.py:605
 #, python-format
 msgid "Trying check for process with PID %d ..."
 msgstr ""
@@ -1639,7 +1662,7 @@ msgstr ""
 msgid "Trying to include object '%s' ..."
 msgstr ""
 
-#: LogRotate/Handler.py:620
+#: LogRotate/Handler.py:619
 #, python-format
 msgid "Unknown error: '%s'."
 msgstr ""
@@ -1654,22 +1677,22 @@ msgstr ""
 msgid "Unsupported option '%s'."
 msgstr ""
 
-#: LogRotate/Handler.py:1625
+#: LogRotate/Handler.py:1624
 #, python-format
 msgid "Using '%(target)s' as target for rotation of logfile '%(logfile)s'."
 msgstr ""
 
-#: LogRotate/Mailer.py:269 LogRotate/Mailer.py:471
+#: LogRotate/Mailer.py:276 LogRotate/Mailer.py:501
 #, python-format
 msgid "Using '%s' as the sendmail command."
 msgstr ""
 
-#: LogRotate/Mailer.py:440
+#: LogRotate/Mailer.py:470
 #, python-format
 msgid "Using <%s> as the sender mail address."
 msgstr ""
 
-#: LogRotate/Handler.py:1618
+#: LogRotate/Handler.py:1617
 #, python-format
 msgid "Using date extension '.%(ext)s' from pattern '%(pattern)s'."
 msgstr ""
@@ -1694,7 +1717,7 @@ msgstr ""
 msgid "What the hell is this: '%s'."
 msgstr ""
 
-#: LogRotate/Handler.py:652
+#: LogRotate/Handler.py:651
 #, python-format
 msgid "Writing PID file '%s' ..."
 msgstr ""