Facebook Social Icon Twitter Social Icon YouTube Social Icon

php_mailparse.dll für PHP 5.3.x

From M.Eng. René Schwarz, Bremen/Merseburg
Jump to: navigation, search


Information icon.svg

An English version of this page is also available here: php_mailparse.dll for PHP 5.3.x

Information icon.svg

PHP bietet selbst keine mit Visual Studio C++ 6 (VC6) kompilierten Binaries von PHP mehr an. Seit PHP 5.3.6 benötigt man eine neue Version der php_mailparse.dll, welche mit VC9 kompiliert sein muss. Diese Version ist hier verfügbar.

Nachdem ich lange Zeit verzweifelt versucht habe, die PECL-Erweiterung (PECL: „PHP Extension Community Library“) mailparse für PHP in kompilierter Form im Internet zu finden, habe ich einige Zeit investiert, die benötigte *.dll-Datei selbst zu kompilieren. Leider gestaltete sich der Versuch zeitaufwändiger, als ursprünglich geplant. Ich danke daher Иван Гущин, der in meinem Auftrag die php_mailparse.dll für die aktuelle PHP-Version 5.3.x kompiliert und eine Dokumentation dazu erstellt hat. Ich stelle die *.dll-Datei zum öffentlichen Download zur Verfügung.


Download und Installation der php_mailparse.dll für PHP 5.3.x

Die resultierende php_mailparse.dll, kompiliert in VC6 und gegen den aktuellen PHP 5.3.5-Quellcode habe ich hier zum Download gestellt. Die php_mailparse.dll kann als Erweiterung sehr einfach in PHP 5.3.x hinzugefügt werden: Die Datei php_mailparse.dll einfach in den Unterordner /ext des PHP-Installationspfads (z.B. C:\Program Files (x86)\PHP\ext) kopieren und in der PHP-Konfigurationsdatei (php.ini, i.d.R. zu finden im Installationspfad, z.B. C:\Program Files (x86)\PHP) aktivieren. Es folgt ein beispielhafter Ausschnitt aus einer php.ini:


;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
;   extension=msql.dll
;
; ... or under UNIX:
;
;   extension=msql.so
;
; ... or with a path:
;
;   extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.
;

extension=php_mbstring.dll
extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
extension=php_exif.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_ming.dll
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll  ; Use with Oracle 11g Instant Client
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
;extension=php_phar.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
extension=php_tidy.dll
extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll
extension=php_mailparse.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll


In Zeile 73 wird die Erweiterung aktiviert.


Nuvola apps important.svg

mailparse benötigt die PECL-Erweiterung mbstring (php_mbstring.dll). Diese muss vor der php_mailparse.dll geladen werden (vgl. Zeile 32)!


Hintergrund

Ich betreibe auf mehreren Systemen das E-Mail-Ticket-System Cerberus Helpdesk. Dieses System setzt mailparse ein, um ein- und ausgehende E-Mails zu parsen. Bis PHP-Version 5.2.x gab es die benötigte php_mailparse.dll für Windows-Systeme über den PHP-Entwickler Pierre Joye auf dieser Seite zum Download.

Vor geraumer Zeit wurden die Windows-Builds für diese Erweiterung eingestellt; eine lange geplante Buildbox der PECL-Erweiterungen für Windows-Systeme wurde bis heute nicht realisiert. Seit PHP-Version 5.3.x muss sich daher jeder Benutzer selbst um die Kompilierung der entsprechenden Erweiterung bemühen.

Leider schaffte auch bis heute der Hersteller des Ticket-Systems keine Abhilfe. Da die fehlende php_mailparse.dll ein Update der PHP-Version unmöglich machte, musste also eine Lösung gefunden werden.