Pegasus Mail - Koexistenz und Migration

PegasusMail

Pegasus Mail von David Harris begleitet mich schon seit den Anfängen meiner Ausbildung 1988 bei der Nixdorf Computer AG. Damals konnte man noch als DOS-Programm auf einem NetWare Server sehr einfach ein Mailsystem betreiben. Als "Austauschmedium" dienten Verzeichnisse, die mit den Novell-typischen Berechtigungen einen Missbrauch verhindert haben. Ein Anwender konnte über ein "Create-Recht" in einem Verzeichnis Dateien anlegen aber nicht mehr lesen, löschen oder andere Dateien sehen. Das klassische "Briefkasten"-Prinzip: Ist der eigene Brief erst mal im gelben Schlitz verschwunden, kommt auch der Inhaber nicht mehr ran.

Später kam dann die Windows Version, die eine eigenständige Fensterverwendung nutzte, die zwar mit den in der Zeit typischen MDI-Layouts nicht viel gemeinsam hatte, aber eine sehr schnelle Verarbeitung von Mails zugelassen hat.

PMail Windows

Die Windows Version kann auch POP3/IMAP4-Konten einbinden und somit auch mit dem Exchange Server in Kontakt treten. Pegasus Mail hat speziell in Universitäten eine große Verbreitung erfahren, weil es einfach zu administrieren war, wenig Ressourcen braucht und auch sehr günstig war. "Bezahlt" wurde Pegasus Mail quasi durch Support und Handbücher, die man vom Autor beziehen sollte.

Allerdings ist es später immer ruhiger um Pegasus Mail geworden. Zum einen haben viele Anwender wohl kein Handbuch bezogen, wodurch das Geschäftsmodell des Autors nicht mehr aufging, zum anderen sind Programme wie Outlook viel leistungsfähiger (Kalender etc.) oder schon Bestandteil des Betriebssystems. Insofern stellen sich einige heutige Pegasus Mail Anwender schon die Frage, wie Sie mit Exchange arbeiten oder sogar migrieren können

Pegasus Mail Betriebsarten

Ehe wir nun über die "Migration" diskutieren, sollten wir uns die beiden Betriebsarbeiten von Pegasus Mail anschauen, die es geben kann.

  • Pegasus Mail mit Mercury
    Dieser Weg ist oft bei Novell Servern zu finden, deren Clients lange Zeit ohne TCP/IP genutzt wurden und daher nur ein Dateisharing auf dem Server möglich war. Aber auch mit Windows ist diese Konfiguration möglich. Der große Vorteil liegt in der einfachen Konfiguration der Clients, welches unter Nutzung ihrer Anmeldedaten ihr Postfach auf dem Server lesen und auch die Dateien dort ablegen.

    Der Mercury Mailserver übernimmt die Arbeit, die eingehenden Mails in das Postfach des Benutzers abzulegen und ausgehende Mails in das Internet zu versenden.
  • Pegasus Mail per SMTP
    Viele Firmen nutzen Pegasus Mail einfach als SMTP/POP3-Client in Verbindung mit einem anderen Mailserver, z.B. EXIM, Postfix und einem POP3/IMAP4-Server. Der Client holt sich seine Mails ab und legt sie in der Pegasus Dateistruktur ab. Leider ist hier nicht vorgegeben, ob diese Ablage wieder auf einem Dateiserver (SMB Sharing) oder vielleicht lokal erfolgt.

    Eine zentrale Ablage ist natürlich aus Datensicherungsgründen aber auch für die Migration von Vorteil.

Abhängig von der Konfiguration müssen Sie bei der Migration sowohl den Bereich "Adressbuch" als auch "Mailfluss" beleuchten.

Mailrouting umstellen

Als Administrator muss man irgendwann den Schritt tun, die eingehenden Mails an das neue System zu leiten. Ob Sie dabei die Mails von Pegasus an Exchange weitergeben, oder alle Mails über Exchange leiten, welcher dann Mails an noch nicht migrierte Postfächer an Pegasus Mail weiter gibt, ist ihre Entscheidung. Ich ziehe aber den Weg vor, Exchange zwischen Internet und Pegasus Mail zu stellen, weil ich mich mit Exchange natürlich besser auskenne und weiß, was es kann und was nicht. Als Exchange Neuling sind sie natürlich versucht, es anders herum zu machen.

PMail Maifluss

Damit Exchange die Mails an Pegasus Mail weiter gibt und Mails von Pegasus Mail weiterleitet, müssen natürlich entsprechende Connectoren vorher eingerichtet werden. Ideal ist es, wenn Sie nicht mit einem "Überlauf" arbeiten, bei dem unbekannte Adressen einfach blind zu Pegasus Mail gesendet werden, sondern in Exchange alle Empfänger in Exchange schon gepflegt sind. Nebenbei tauchen die Anwender dann auch schon in der GAL korrekt auf. Hier gibt es aber ein paar Besonderheiten, da es keinen automatischen Abgleich gibt. Sie können mehrere verschiedene Empfänger verwenden

Ich nutze daher meist aktive Benutzer mit Postfach, welche aber eine Weiterleitungsadresse zu Pegasus Mail erhalten, solange Sie noch nicht Migriert sind. Siehe auch TargetAddress, Weiterleitungen und Schattenpostfachmigration.

Pegasus Mail und Exchange mit IMAP4 nutzen und migrieren

Exchange bietet schon lange den Weg an, per POP3 oder besser noch per IMAP4 auf ein Postfach zuzugreifen. Das ist auch der einzige Weg, über den Sie einen Pegasus-Mail Client an einen Exchange Server anbinden können. Nebenbei ist es auch der einfachste Weg für einen Anwender seine Daten von Pegasus Mail nach Exchange/Outlook zu transferieren. Sie binden einfach das neue IMAP4-Konto von Exchange in Pegasus Mail ein und verschieben die Mails aus den Pegasus Mail Ordnern in die IMAP4-Ordnerstruktur.

Das ist natürlich vom Anwender selbst zu machen und kann schlecht kontrolliert werden. Zudem müssen Sie natürlich sicher stellen, dass Die Anwender keine neuen Mails mehr von anderen Pegasus Mail-Benutzern als auch von extern noch in das Pegasus Mail Postfach bekommen. Oder alle Nutzer müssen eben parallel weiter mit Pegasus Mail sowohl ihr Pegasus Mail-Postfach als auch das Exchange IMAP4-Postfach nutzen und dann zu einem Stichtag keinen Mailaustausch auf Pegasus Mail-Basis mehr abwickeln.

Pegasus Mail Adressen nutzen

Der erste Schritt ist bei der Migration natürlich der Abgleich der Adressen. So sollten alle Empfänger natürlich schon in Exchange existieren, ehe die Migration beginnt. Leider hängt es nun von der Art des Betriebs und der Migration ab, woher sie ihre Adressen beziehen. Das kann eine Pegasus Mail.USR-Datei sein, die Pegasus im gemeinsamen Verzeichnis ablegt. Leider enthält diese nur einen Teil der Userdaten. Wenn sie den Mailserver Mercury (Windows oder NLM) einsetzen, dann gibt es eine weitere Steuerdatei für die Übertragung von Mails. Wenn Sie ein ganz anderes System einsetzen, dann ist dessen Datei maßgeblich.

Von allen Quellen sollten Sie eine Liste der Empfänger samt Mailadressen erhalten, um möglichst automatisiert damit Postfachplatzhalter mit Weiterleitungen anlegen zu können.

Im Rahmen meiner Arbeit mit MiniSync habe ich einen umfangreichen Skriptpool, um solche Aufgaben zu automatisieren.

Pegasus Mail Daten aus der Quelle migrieren

Für einen Administrator liegt es da natürlich näher, die gesamte Migration serverseitig durchzuführen. Das funktioniert natürlich nur, wenn die Mitarbeiter ihre Pegasus Mail-Datendateien auch auf einem Server abgelegt haben und nicht etwas mit Pegasus Mail auf dem Desktop ihre Mails per POP3 herunter geladen haben. Beim Einsatz eines Servers finden Sie eine Verzeichnisstruktur vor, in der jedes Postfach einen eigenen Ordner hat, in dem dann wieder mehrere Dateien liegen:

PMail Verzeichnisse und Dateien

Dabei nutzt Pegasus Mail wie in den frühen Zeiten die gleiche Dateiablage. Wenn Sie Pegasus Mail auf einem VISTA-installieren, dann liegen die Maildateien erst mal unter C:\\AppData\Local\VirtualStore\Program Files\Pegasus Mail\MAIL\fcarius. Das ist für einen Netzwerkbetrieb natürlich nicht geeignet. Relevant für die Migration sind:

  • HIERARCH.PM
    Diese Datei ist der Startpunkt für Pegasus Mail um die verschiedenen Ordner zu können, die in der jeweiligen Anzeige eingebunden sind.
    HIERARCH.PM
  • PML
    Diese Datei enthält einen Alias und wird für Verteiler genutzt. Der Anwender adressiert den Empfänger, in dem dann mehrere SMTP-Adressen als Ziel stehen. Diese Inhalte können natürlich in Active Directory Gruppen übertragen werden. Hierbei ist zu beachten, dass die Empfänger durchaus extern sein können, was für Exchange bedeutet, dass diese als Kontakte vorhanden sein müssen und ein entsprechendes Importskript diese Objekte "suchen" muss.
\TITLE Alle Mailbenutzer
\URGENT Y
\NOSIG Y User1@domain1.tld User2@domain1.tld User3@domain2.tld
  • PMM + PMI
    Jeder Ordner selbst ist eine PMM-Datei, in der alle Mails einfach aneinandergehängt abgespeichert werden und in dem Verzeichnis liegen. Die Mails sind durch ein (SUB)FROM: voneinander getrennt. Am Anfang steht noch der Ordnernamen.
    PMail Ordnerdatei
  • CNM
    Neue Mail, die noch nicht in Ordner "einsortiert" wurden, liegen als CNM-Datei im Mailverzeichnis des Benutzers. Sobald der Anwender diese in Pegasus Mail liest und in einen Ordner überträgt, wird der Inhalt in die PMM-Datei eingepflegt und die CNM-Datei gelöscht. Hier ein Musteraufbau (Entspricht einer RFC-822 -Mail)
From: admin
To: fcarius
Date: Fri, 08 Aug 2008 23:02:06 +0200
MIME-Version: 1.0
Subject: test2
Message-ID: <489CD06E.15625.3DCFED30@admin>
X-mailer: Pegasus Mail für Windows (4.41)
Content-type: text/plain; charset=US-ASCII
Content-transfer-encoding: 7BIT
Content-description: Mail message body
 
test2
  • PMR und PM!
    Diese Dateien enthalten Adressbücher des Benutzers. Meist hat es den Namen "adrbook.pmr", was aber nicht zwangsläufig so ist.

Dank dieser "einfachen Ordner und Dateistruktur sollte es einfach sein, einen entsprechenden Konverter zu schreiben, der die Mails aus den PMM-Dateien extrahiert und z.B. als einzelne Mails im EML-Format ablegt. Ganz so einfach ist es aber dann doch noch nicht, da Outlook keine EML-Dateien importieren kann aber Redemption kann es.

Sub ImportEML()
' http://www.outlookcode.com/codedetail.aspx?id=716
    Dim objPost As Outlook.PostItem
    Dim objSafePost As Redemption.SafePostItem
    Dim objNS As Outlook.NameSpace
    Dim objInbox As Outlook.MAPIFolder
    Const PR_ICON_INDEX = &H10800003
    On Error Resume Next
        
    Set objNS = Application.GetNamespace("MAPI")
    Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
    Set objPost = objInbox.Items.Add(olPostItem)
    
    Set objSafePost = CreateObject("Redemption.SafePostItem")
    objPost.Save
    objSafePost.Item = objPost
    objSafePost.Import "c:\emltest.eml", olRFC822
    objSafePost.MessageClass = "IPM.Note"
    ' remove IPM.Post icon
    objSafePost.Fields(PR_ICON_INDEX) = Empty
    objSafePost.Save
    
    Set objSafePost = Nothing
    Set objPost = Nothing
    Set objInbox = Nothing
    Set objNS = Nothing
End Sub

Solche Wege sind interessant, wenn die Anwender ihre Pegasus Mail-Dateien auf einem Fileserver und nicht lokal abgelegt haben. Dann könnte ein Administrator quasi "im Auftrag" die Mails serverseitig umziehen und den Benutzern den IMAP4-Weg ersparen

Sonstiges Links