Beiträge von Sebijk

    Character sets

    Before converting, be sure to back up the database and files. No liability for data loss!

    ISO character set

    b1gMail 7.4.1 will be the last version that will still support the old ISO character set or latin1. For a problem-free operation the conversion to UTF-8 format is therefore strongly recommended.

    If you are using a version older than 7.4.0:

    Saving emails to database causes character set errors, so the file system variant is the safest. Therefore, before conversion, log into the admin area, go to "Settings" " "Mail" and make sure that mail storage is set to "File system". Even if this was already the case, then go to "Tools" " "Optimization" " "File System" and run the "Mail Storage" function (Database -> Files). This is necessary to make sure that there are no more emails in the database, since this storage method has been removed as of version 7.4.0-Beta1.

    When updating: After running setup/update.php do not delete the "setup" folder yet but run setup/utf8convert.php first. Allow some time for the conversion.

    UTF8MB4

    New installations always use UTF8MB4, because the old UTF-8 implementation of MySQL cannot store 4 byte character sets. When updating from an older b1gMail version: run setup/utf8mb4convert.php. You need a little time for the conversion.

    Note for users who previously used the commercial version:

    The service at b1gMail.org are currently not accessible. This includes the toolbox. If you want to use the toolbox from b1gMail.com, you have to add the following to config.inc.php:

    PHP: config.inc.php
    define('B1GMAIL_DLDATE', ''); //Here add dldate
    define('B1GMAIL_LICDOMAIN', ''); //Here add licdomain
    define('B1GMAIL_SIGNKEY', ''); //Here add signkey
    define('TOOLBOX_SERVER', 'http://service.b1gmail.com/toolbox/');
    define('UPDATE_SERVER', 'http://service.b1gmail.com/patches/');
    define('SIGNATURE_SERVER', 'http://service.b1gmail.com/signatures/');

    You get these values from serverlib/init.php of the commercial version.

    b1gMail 7.4.1 Beta 3 is now available for download at https://github.com/b1gMail-OSS/b1gMail/releases! It is the first version released under the GPL license. As with every beta version: Don't use for productive use!

    Before updating, please make a backup of the database and the b1gMail folder including the data folder!

    Changes 7.4.1-beta2->7.4.1-beta3

    • New feature: field company and taxid contributed by SLM
    • New feature: Edit alias sendername
    • New feature: Alias login is disabled by default, user can set if login is allowed for every alias (note: this has no effect on b1gMailServer)
    • New feature: deref.php shows a warning, if an external link is clicked (enabled by default, can disabled on admin)
    • New feature: favicon show a number, when new emails is coming (commit b497530)
    • Organizer can now disabled at group settings
    • Add auth plugin: wbb2 and MyBB
    • more fixes for PHP 8 and higher
    • Updated german plz (commit 8956ce0)
    • new template hooks: afterButtons and beforemailSendOptions (commit facf6b3)
    • new tool: postfix transport list creator, if you plan to use b1gMail with Postfix Transport (commit 2fbda2e)
    • switch to fork awesome (which is compatible with font awesome 4.7, but with more icons. Note: This decision has no impact on later versions, when an upgrade from Font Awesome to the latest one is planned.)
    • updated ckeditor to 4.17.2 and Restored show source button
    • a lot of small fixes and improvements

    Important for plugin authors

    With Beta 3, the static Function BMUser::Fetch was changed to BMUser::staticFetch. If you use this function in plugins you have to change this.

    New installation

    Download complete package. In serverlib rename config.default.inc.php to config.inc.php and version.default.inc.php to version.inc.php.

    Update from b1gMail 7.4.0, 7.4.1-beta1 and 2

    upload the files. After call /setup/update.php. Alternatively delete in serverlib the file version.inc.php and rename version.default.inc.php to version.inc.php and call tools/db_sync.php. In both cases the setup folder must be deleted afterwards.

    Update from b1gMail 7.3.0

    Call /setup/update.php after the upload.

    Update from other b1gMail 7.4 beta versions

    You have to update to b1gMail 7.4.0-Beta4 first.

    Update from b1gMail versions older than 7.3.0

    The update routine goes from 7.0.0. However, this has not been tested and it is therefore recommended to update to b1gMail 7.3.0 first, if you have access to this version.

    Update from b1gMail6

    If you are already using b1gMail6, please update to b1gMail 7.2.0 first, then to 7.3.0 and then to this version.

    Notes

    • Before updating, please make a backup of your database and files. No liability for data loss!
    • b1gMail 7.4.1 requires at least PHP 5.4
    • New installation requires at least MySQL / MariaDB 5.5.3. MySQL 8.x and higher is currently not supported ( except MariaDB ). We recommend MariaDB as Database Engine.
    • After the update please delete your browser cache
    • b1gMail 7.4.1 also contains the PremiumAccount and Fax plugin.
    • If b1gMailServer is used, please restart the queue service after the update and make sure that the latest version is used.
    • The server part of b1gMailServer is currently NOT OpenSource, only the included admin interface.
    • Plugins from ThinkClever GmbH are not compatible with the b1gMail 7.4 version. These must be uninstalled before update.
    • If the b1gMail installation is still running in ISO character set / Latin mode, it is strongly recommended to convert to UTF-8 format.

    Limitations compared with the old commercial version

    • The toolbox is currently not available for the free version. License holders of the former commercial b1gMail version can still use the service, see below for more information.
    • Update notifications are not available
    • Fax plugin: Since the proprietary FPDI parser library is not allowed to be shipped in a GPL project, it was removed with the update of the FPDI class. This removes support for compressed PDF files. If one still needs this, a license must be purchased at https://www.setasign.com/products/fpdi-pdf-parser/pricing/. Alternatively, the last commercial version of the fax plugin can be used if a license was purchased at that time.

    Was auch noch gut wäre wäre eine generelle HTML5 Desktop Benachrichtigung für E-Mail und Kalender, glaube aber das jemand das schon entwickelt hat.

    Wer denn?

    Ansonsten das lässt sich wohl leicht umsetzen: https://www.a-coding-project.de/ratgeber/html/…b-notifications

    Werd ich in der nächsten Veröffentlichung aufnehmen. Im aktuellen GitHub-Repository hab ich ein Favicon-Benachrichtigungscounter umgesetzt, das zeigt im Browser-Tab an, ob eine neue Nachricht eingetroffen ist.

    Sebijk kannst du bitte mal prüfen, ob die Visitenkarte (anzuhängen beim E-Mailversand) auch die richtigen Daten aus deinem Feld "company" statt "firma" enthält? Die vcard.class.php verwendet nämlich den Wert "firma" beim erstellen der Datei den Wert "firma". Mit meiner Version wird die Firma in die Visitenkarte übernommen:

    Code
    else if($key == 'firma')
                {
                    $lines[] = 'ORG:' . $value;
                }

    ja, geht problemlos. Man muss in der user.class.php bei der Funktion BuildvCard es auch so machen: 'firma' => $this->_row['company']. Sonst wird das Keyword firma nicht angesprochen. Deine Änderungen (bis auf die Anrede, siehe dazu separates Thema Anrede) habe ich soweit übernommen und ist im letzten Commit enthalten.

    Das ist eine sehr gute Idee. Hierfür sollte die offiziellen ISO-Ländercodes verwendet werden: https://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste

    ManDal hat das vorausschauend ja schon mal in seinem Wetter-Widget in die Tabelle {pre}_staaten eingebaut. Die Möglichkeit die Daten anzuzeigen und zu editieren habe ich in die Templates integriert (siehe Anhang).

    Nur hab ich noch keine Möglichkeit gefunden, die ISO-Codes mit der Sprachdatei zu referenzieren und das Länder-Auswahlmenü damit zu bestücken :/

    Es fehlen außerdem noch viele Staaten: https://de.wikipedia.org/wiki/Liste_der_Staaten_der_Erde. Aktuell hat b1gMail etwa 144 (anderes Land nicht mitgezählt.

    Nein. bm60_ ist bei manchen Dateien (auch Plugins) fest kodiert. Ich schätze mal, dass Präfixe vorgesehen waren (an manchen stellen gibt es {pre}), aber das wurde wohl nie wirklich umgesetzt (oder gab es diese Möglichkeit bei b1gMail6/5?)

    Spaltenname nachträglich internationalisieren könnte man evtl. ab b1gMail 8 machen. Solange b1gMailServer nicht opensource ist, sehe ich aktuell keinen Mehrwert drin.

    Im der aktuellen DB-Struktur sind deine Änderungen nun enthalten, allerdings mit ein paar Änderungen:

    Ich habe company genommen, weil für neue Felder stets englische benutzt werden soll und b1gMail internationalisiert werden sollte. Nur bei anrede bin ich davon ausgewichen. Außerdem hab ich 255 bzw. 128 in orders genutzt, weil Firmennamen können auch mal länger als 50 Zeichen sein können.

    Ist in bm60_prefs in der Spalte rgtemplate gespeichert. Kannst du es exportieren? Ich bin am überlegen, ob ich das beim Update überhaupt überschreiben soll, meine Tendenz eher nicht, evtl. nur wenn das Template seit der Installation nie geändert wurde. im setup.php ist das Template in der Variable $defaultInvoice gespeichert.

    PS: Insbesondere in include-Verzeichnis wäre es besser, du schreibst die Änderungen im Post, anstatt komplette Dateien anzuhängen. Noch idealer wäre es, wenn du mit "diff -u" arbeitest, dann sieht man gleich die Änderungen.

    Die Datei serverlib/vcard.class.php muss ggfls. noch um die zusätzliche Anrede ergänzt werden, das habe ich bislang noch nicht geschafft.

    anrede kommt auch in bm60_adressen vor.

    Edit: Bezüglich divers: b1gMail bietet ja bereits die Anrede leer zu lassen. Daher die Frage ob das sinnvoll ist, noch eine weitere hinzuzufügen. Soweit ich verstanden habe, ist divers ein Sammelbegriff und wenn b1gMail eine explizite Geschlechtsangabe hätte, fänd ich das auf jedenfall unterstützenswert. Vielleicht wären andere Anrede wie "Hallo" oder "Lieber" die bessere Varianten.

    Leider nirgendswo... Aber ein Blick zeigt, dass da eine serverlib/toolinterface.class.php eingebunden wird und BMToolInterface exportiert wird. Jetzt muss man sich nur die Aufrufe von der Toolbox in einem Log ausgeben lassen.

    EDIT: /interface/clientapi.php?class=BMToolInterface&method=GetServiceInfo gibt mir folgendes aus.

    GetServiceInfo ist eine Funktion, die innerhalb vom toolinterface.class.php zu finden ist.

    Da gäbe es so vieles was man machen kann :D

    • Word/Libreoffice-Dateien mit Collabora oder OnlyOffice direkt aus der Webdisk bearbeiten
    • Externe Cloud-Ordner via WebDAV einbinden
    • Makdown Editor oder Viewer
    • Video/Audioplayer
    • eBook-Reader
    • Checksumme anzeigen und erstellen (MD5/SHA256 etc)
    • Externe können über geteilten Ordner auch Dateien hochladen

    Um realistisch zu bleiben: Die Punkte Icons auf Fontawesome anpassen Seite Webdiskfreigabe überarbeiten und Bilder/PDF-Vorschau halte ich erstmal für das wichtigste, was getan werden muss. b1gMail 7.4.1 liefert derzeit bei einer Neuinstallation keine Webdisk-Icons mit, da diese proprietär sind und bei der Datenbank abgelegt wurden (die man im Administrationsbereich anpassen kann).

    Deswegen halte ich es sinnvoll, wenn es jemand gibt, der die Webdisk pflegen möchte.

    Die App von Martin(möp) ist auch eine eigene Entwicklung von ihm. Er verkauft und entwickelt die App nicht mehr und er wird sie nicht opensource machen, wegen proprietäre Komponenten, wo er lt. eigener Aussage nicht sicher ist, ob es in die GPL darf. Es ist halt immer schwer Sachen von Drittanbieter zu unterstützen, wenn der Autor es nicht mehr pflegen will und auch nicht unter einer entsprechende Lizenz freigibt. CleverMailEncryption ist das beste Beispiel dafür. Wenn patrick nicht den Quelltext hätte, dann hätte man es in b1gMailServer nicht mehr weiternutzen können und für das zpush Plugin hat er selbst eine eigene agpl kompatible Entschlüsselung für CME geschrieben. Das eigentliche Plugin ist mit 7.4 nicht kompatibel.

    Welche Empfangsmethode nutzt ihr aktuell?

    b1gMail unterstützt versch. Empfangsmethoden bzw. im Grunde genommen genau zwei: Einmal durch das Abrufen eines POP3-Catchall Postfaches und einmal durch interface/pipe.php.

    Ich selbst nutze b1gMailServer (hauptsächlich wegen der einfache Bedienung und wegen dem perfekten Zusammenspiel mit b1gMail) und bin am überlegen auf Postfix (Transport-Map) umzusteigen, da die Zukunft von b1gMailServer ungewiss ist und Postfix mehr Gestaltungsmöglichkeiten hat.

    Dazu hatte ich mal in der Vergangenheit was geschrieben. Es gibt mehrere Methoden, sich in die Nextcloud anzumelden.

    1. Basic-Authentifizierung mit Nextcloud-Plugin user_external: https://github.com/Sebijk/b1gMail…aster/basicauth

    Vorteile: Schnell, einfach, unabhängig, auf welchem Server es liegt, nutzt die internen b1gMail-Funktionen fürs Login.

    2. Nextcloud-Plugin user_sql: https://github.com/nextcloud/user_sql

    Nach Installation folgende Einstellungen vornehmen:


    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.
    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Vorteile: Gruppen werden übernommen und alle bestehenden b1gMail-Nutzer werden nach Nextcloud synchronisiert. Die Methode MD5(MD5+Salt) habe ich kürzlich erst erstellt und ein Pull Request habe ich bereits eingereicht: https://github.com/nextcloud/user_sql/pull/174 . Solange dies nicht erfolgt ist, müsst ihr aus meinen Fork die Datei lib/Crypto/MD5MD5Salt.php ins user_sql-Plugin einfügen.

    EDIT: da hat sich ein Fehler im Bild eingeschlichen. Es sollte im UID id stehen statt email.

    3. Für echte SQL-Geeks: https://apps.nextcloud.com/apps/user_backend_sql_raw

    Derzeit kann b1gMail sich gegen folgende Software authentifizieren:

    • jfChat
    • Joomla
    • Koobi7
    • MyBB 1.8 (neu, ab kommende Beta3 enthalten)
    • phpBB3
    • vBulletin 3.5-4.2
    • WBB2 und 3

    Die meisten Software sind aber veraltet und ich halte es generell für sinnvoll, einen generische Authentifizierungsplugin zu schreiben. Basisideen liefert dafür das user_external Plugin von nextcloud: https://apps.nextcloud.com/apps/user_external sowie user_sql: https://apps.nextcloud.com/apps/user_sql