Confixx & IMAP -> Maildir anlegen

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
dts
Posts: 290
Joined: 2004-02-05 20:40

Confixx & IMAP -> Maildir anlegen

Post by dts » 2005-02-07 19:16

Hallo,

Ich habe seit längerem mein Mailsystem (Courier POP3/IMAP und Postfix), welches über Confixx 3.0.6 läuft auf von POP3 auf die Kombination POP3/IMAP umgestellt. Die Folge davon ist, dass beim Anlegen von neuen Mailboxen diese nicht tatsächlich erstellt wird, sondern erst beim Eintreffen der ersten Emailnachricht...

Könnte man dieses Maildir auch bereits VOR eintreffen der ersten Email anlegen, beispielsweise mit einem Shell/PHP-Skript? Hat möglicherweise bereits jemand eine Lösung, ohne dass ich das Maildir jedesmal händisch anlegen muss?

Bin gespannt... und danke für jeden Tip!

Lg Jürgen

jayc
Posts: 87
Joined: 2002-11-26 23:07
Location: Karlsruhe

Re: Confixx & IMAP -> Maildir anlegen

Post by jayc » 2005-02-07 22:22

Also auf meinem System (Courier) gibt es einen Befehl der da lautet:

Code: Select all

maildirmake
Evtl. hilft Dir das weiter. Ich kenne dieses Kommando selbst sich - im Zweifelsfall ist "man" Dein Freund.

dts
Posts: 290
Joined: 2004-02-05 20:40

Re: Confixx & IMAP -> Maildir anlegen

Post by dts » 2005-02-07 22:28

Hallöchen,

Ja den kenne ich auch, aber wie und wo muss das in die Confixx-Skripte rein, das wäre durchaus interessant... ich hoffe, dass ich oben verständlich erklärt habe, was ich eigentlich möchte? :?

Lg Jürgen

kuntho
Posts: 149
Joined: 2004-10-27 14:22
Location: Küps

Re: Confixx & IMAP -> Maildir anlegen

Post by kuntho » 2005-02-07 22:34

Wo bitte ist Dein Problem? Es ist ganz normal, dass das Maildir erst beim Eintreffen der ersten Mail angelegt wird. Das ist auch bei POP3/Mailbox der Fall. Hier wird von Confixx auch keine leere Mailbox angelegt, wenn Du ein Postfach erstellst. Wenn Du das unbedingt gleich anlegen willst, wir wärs, wenn Du einfach eine Willkommen - Mail an das neue Postfach erstellst? Damit hättest Du das Problem ganz elegant erschlagen.

dts
Posts: 290
Joined: 2004-02-05 20:40

Re: Confixx & IMAP -> Maildir anlegen

Post by dts » 2005-02-07 22:43

Es ist ganz normal, dass das Maildir erst beim Eintreffen der ersten Mail angelegt wird. Das ist auch bei POP3/Mailbox der Fall.
Nööö, also bei POP3 funktionierte das bei mir schon. Da wurde mir gleich nach Durchlauf des Counterskriptes die Mailbox angelegt.
Wenn Du das unbedingt gleich anlegen willst, wir wärs, wenn Du einfach eine Willkommen - Mail an das neue Postfach erstellst?
Also die Idee gefällt mir *g* (wäre selbst nicht drauf gekommen) nur ist die Frage, wie ich dieses Feature dann tatsächliche dann realisiere bzw. wo ich dies in den Confixx-Skripten einfügen muss... *grübel*

antondollmaier
Posts: 485
Joined: 2004-03-30 10:06

Re: Confixx & IMAP -> Maildir anlegen

Post by antondollmaier » 2005-02-07 23:02

[ ] du kannst zwischen maildir und mbox unterscheiden

[ ] du weißt, dass pop3 nix mit dem mail-speicher-format zu tun hat


zutreffendes ankreuzen ;)



zum thema:

FAQ-seite einrichten, mit der fehlermeldung, die kommt, wenn man auf n postfach zugreifen will, wo das maildir ned existiert ... fertig ... dürfte reichen ...

an den confixx-skripten kannst sowieso nix ändern ... die sind ja (bekanntlich) verschlüsselt ... müsstest also selber was dazuskripten ...


mfg,
Anton

dts
Posts: 290
Joined: 2004-02-05 20:40

Re: Confixx & IMAP -> Maildir anlegen

Post by dts » 2005-02-07 23:13

an den confixx-skripten kannst sowieso nix ändern ... die sind ja (bekanntlich) verschlüsselt ... müsstest also selber was dazuskripten ...
Das ist mir aber neu, denn ich habe mir schon so manche "Addons" und "Hacks" aus dem Web und diversen Foren eingebaut...

kuntho
Posts: 149
Joined: 2004-10-27 14:22
Location: Küps

Re: Confixx & IMAP -> Maildir anlegen

Post by kuntho » 2005-02-08 00:13

@antondollamier:

**KREUZ**
**KREUZ**

Es geht hier nicht um Maildir oder Mailbox sondern darum, dass ConXXX das Maildir nicht automatisch anlegt sondern nur das Homedir des Mailusers.

Und dass POP3 nichts mit dem Speicherformat zu tun hat (ausser dass beispielsweise qpopper nur mbox kann) ist schon auch so weit klar. :wink:

Die User, die mit der Fehlermeldung beim Zugriff auf ein (noch) nicht existierendes Maildir ein Problem haben, sind auch nicht in der Lage, die FAQ zu lesen bzw. den entsprechenden Abschnitt zu verstehen. Bei meinen Kunden würde das auf ca. 90% zutreffen. :cry:


@DtS:

Muss antondollmaier zustimmen, das wird glaube ich im Updatescript gemacht, und da kann man so ohne Weiteres nichts dran ändern. Auf die Schnelle fällt mir da nur eine (Krücke) Lösung ein, wie Du das per CRON - Skript erledigen kannst (Verzögerung hast Du sowieso, das Homedir des Mailusers wirs erst beim Durchlauf des Updatescriptes angelegt).

Code: Select all


#!/bin/bash
MAILDIR-HOME=/var/spool/maildir
echo "select account from pop3 order by account" | mysql confixx | grep -v account > /root/temp/maildirs2
if [ -f /root/temp/maildirs ] ; then
 NEWMAILDIR=`diff  /root/temp/maildirs  /root/temp/maildirs2 | grep ">"  | sed "s/> //g"`
 for i in $NEWMAILDIR ; do
  echo "Neues Mailverzeichnis: ${i}"
  # falls Mailverzeichnis angelegt werden soll. die folgenden Zeilen auskommentieren:
  # mkdir -p ${MAILDIR-HOME}/${i}/Maildir 2>/dev/null
  # chown -R ${i}.poponly ${MAILDIR-HOME}/${i}
  # chmod -R 750 ${MAILDIR-HOME}/${i}
  # Willkommens - Nachricht an den neuen Mailuser:
  mail -s "Willkommen beim [MEINSERVER]-Mailsystem" < /root/mailtext.txt
 done
else
 echo "Erster Skriptdurchlauf, Funktion wird bein nächsten Durchlauf aktiv."
fi

mv /root/temp/maildirs2 /root/temp/maildirs

Ohne Garantie auf Funktion. Soll nur ein Denkanstoss sein! Irgendwas in der Art alle Stunde per CRON angestossen sollte das lösen, was Du Dir vorstellst. Man könnte da natürlich auch maildirmake einbauen, wenn die Sache mit der Willkommens - Mail nicht gewünscht ist.

mfg

KunTho

jayc
Posts: 87
Joined: 2002-11-26 23:07
Location: Karlsruhe

Re: Confixx & IMAP -> Maildir anlegen

Post by jayc » 2005-02-08 00:40

kuntho wrote:Es geht hier nicht um Maildir oder Mailbox sondern darum, dass ConXXX das Maildir nicht automatisch anlegt sondern nur das Homedir des Mailusers.
Confixx wird wohl "auch nur" useradd ausführen. Daher würde ich das Maildir mal testweise in das /etc/skel-Verzeichnis aufnehmen.

Auszug aus der Manpage von useradd:

Code: Select all

The user's home directory will be created if it does not exist. The  files  contained  in  skele-ton_dir  will  be copied to the home directory if the -k option is used, otherwise the files con-tained in /etc/skel will be used instead. Any directories contained in skeleton_dir or  /etc/skel will  be created in the user's home directory as well. The -k option is only valid in conjunction with the -m option. The default is to not create the directory and to not copy any files.

dts
Posts: 290
Joined: 2004-02-05 20:40

Re: Confixx & IMAP -> Maildir anlegen

Post by dts » 2005-02-08 02:02

Hi JayC,

Danke für deine Lösung, allerdings gefällt mir obige Lösung mit dem Cronscript sogar irgendwie besser, da ich hier mehr Kontrolle über das System habe ... zumindest empfinde ich es so.

[ 1 Stunde später ]

Leider bekomme ich die Lösung von "kuntho" auch nicht zum laufen und nebenbei wurde mir klar, dass es sich um eine nicht allzu leistungsfähige Idee handelt.

Meine Idee wäre eher gewesen direkt in der PHP-Datei, in der die Mailboxen angelegt werden (wo auch Benutzername und Passwort ausgegeben werden) eine Willkommensnachricht zu verschicken...

Mal sehen, ob sich das machen läßt?

dts
Posts: 290
Joined: 2004-02-05 20:40

Re: Confixx & IMAP -> Maildir anlegen

Post by dts » 2005-02-08 02:20

Hallo,

Ich habe soeben dieses Skript in einer Newsgroup gefunden, was haltet Ihr von dieser Lösung? Leider funktioniert es bei mir noch nicht wirklich, aber eine Anpassung sollte doch eigentlich kein Problem darstellen:

Code: Select all

#!/usr/bin/perl
use strict;
do_dir('/home/mail/');
exit;

sub do_dir {
    my $dir = shift;
    opendir(D, $dir);
    my @f = readdir(D);
    closedir(D);
    foreach my $file (@f) {
        if ($file ne '.' && $file ne '..') {
            if (!-e "/home/mail/$file/Maildir") {
                open (EXEC,"|maildirmake /var/mail/$file/Maildir");
                close (EXEC);
                open (EXEC,"|maildirmake -f Gesendet /home/mail/$file/Maildir");
                close (EXEC);
                open (EXEC,"|maildirmake -f Papierkorb /home/mail/$file/Maildir");
                close (EXEC);
                open (EXEC,"|maildirmake -f Vorlagen /home/mail/$file/Maildir");
                close (EXEC);
                open (EXEC,"|maildirmake -f Werbung /home/mail/$file/Maildir");
                close (EXEC);
                open (EXEC,"|chown -R $file.poponly /home/mail/$file/Maildir/");
                close (EXEC);
            }
        }
    }
}
Gute Nacht und bis morgen,
Lg Jürgen