Bringe sendmail.exe nicht zum Laufen

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Bringe sendmail.exe nicht zum Laufen

Postby galbur » 19. September 2017 10:55

Hallo miteinander

Um Formulare auch lokal testen zu können, wollte ich wie in der Hilfe-Datei zum xampp-paket (Vers. 7.1.8) beschrieben vorgehen und sendmail aktivieren

in der php.ini

habe ich eingetragen:

sendmail_path = "\"M:\xamppserver\xampp_100\sendmail\sendmail.exe\" -t"

in der senmial.ini folgendes

smtp_server=smtp.mailserver.com
smtp_port=465
smtp_ssl=auto
error_logfile=error.log

auth_username=hierusername
auth_password=hierpasswort

Leider erhalte ich immer die Fehlermeldung:

Mailer Error: Could not instantiate mail function.

Vielen Dank für Eure Hilfe
Christoph
galbur
 
Posts: 11
Joined: 06. December 2014 21:55
Operating System: Win 7

Re: Bringe sendmail.exe nicht zum Laufen

Postby Nobbie » 19. September 2017 13:34

Was ist M: für ein Laufwerk?
Wird Apache als Service gestartet?
Nobbie
 
Posts: 9817
Joined: 09. March 2008 13:04

Re: Bringe sendmail.exe nicht zum Laufen

Postby galbur » 19. September 2017 14:08

Hallo Nobbie

Habe meine xamppserver auf einem externen SSD Laufwerk und kann so gut zwischen Home / Office / Notebook switchen.
Und da das ganze Portable sein soll, wird xampp/apache nicht als Service gestartet.

Gruss
Christoph
galbur
 
Posts: 11
Joined: 06. December 2014 21:55
Operating System: Win 7

Re: Bringe sendmail.exe nicht zum Laufen

Postby Nobbie » 19. September 2017 17:01

Ich vermute trotzdem, dass aus irgendeinem Grund das Programm sendmail.exe nicht auf M: gefunden wird. Der Laufwerksbuchstabe ist ggf. nicht bekannt in Apache. Ich würde mal probieren, ob man mit sendmail.exe auf c: mehr Erfolg hat. Einfach den Ordner rüberkopieren und entsprechend in php.ini einrichten. Wobei möglicherweise auch schon php.ini gar nicht gefunden wird, das sollte mit einem phpinfo() zu ermitteln sein.

"Extern" ist leider auch eine sehr schlechte Beschreibung, ist das ein Netzlaufwerk, oder ein NAS, oder ein USB Laufwerk, oder ein E-SATA Laufwerk? Dass es extern ist, ist das einzige, was ich auch so gewusst hätte....
Nobbie
 
Posts: 9817
Joined: 09. March 2008 13:04

Re: Bringe sendmail.exe nicht zum Laufen

Postby galbur » 20. September 2017 09:13

Ok, Sorry und Danke für Deine Antwort

Ich präzisiere. Es handelt sich um ein externes SSD Laufwerk welches über USB eingebunden wird.
Diesem Laufwerk habe ich auf allen meinen Computern/Notebooks den Laufwerkbuchstaben M: zugewiesen.
Die setup_xampp.bat hat mir jeweils recht zuverlässig die richtigen Pfade in die richtigen Files geschrieben.

Die php.ini wird so sicher gefunden. Bis auf die sendmail.exe läuft alles einwandfrei.

Ich probiere das alles nun mal noch auf C: wie Du geraten hast.
Melde mich wieder..

Gruss
Christoph
galbur
 
Posts: 11
Joined: 06. December 2014 21:55
Operating System: Win 7

Re: Bringe sendmail.exe nicht zum Laufen

Postby Nobbie » 20. September 2017 10:49

Ich habe mir gerade mal die Mühe gemacht und habe die Fehlermeldung "Mailer Error: Could not instantiate mail function." In Google eingegeben. Ich gehe davon aus, dass Du das NICHT getan hast, denn sonst hättest Du sicherlich Deinen Irrtum bemerkt:

diese Fehlermeldung kommt NICHT von der mail()-Funktion aus PHP (und nur dann wären die Einstellungen in php.ini und das sendmail.exe das Problem), sondern die Meldung kommt aus dem PHP Paket phpmailer https://sourceforge.net/projects/phpmailer/

Und dieses Paket (welches Du entweder selbst direkt installiert hast, oder welches als Bestandteil einer anderen Software mit installiert wurde) hat genau den Sinn, NICHT(!) die relativ dumme mail() Funktion von PHP zu benutzen, sondern die greift vollkommen selbständig via TCPIP auf Mailserver zu. Dazu muss aber an irgendeiner Stelle in der betreffenden Software mitgeteilt werden, um welchen Mailserver und welche Benutzerdaten es sich dabei handelt - im Prinzip die gleichen Angaben wie aus der sendmail.ini, nur eben garantiert NICHT(!) in der sendmail.ini, sondern in irgendeiner (mir nicht bekannten) Konfigurationsdatei Deiner Software, die Du da installiert hast. Mit anderen Worten: Du suchst an der total falschen Stelle.

P.S.: Bei der Gelegenheit weise ich dann auch gleich darauf hin, dass mittlerweile die meisten grossen Email Provider (GMX beispielsweise) ihre SMTP Server von privaten IPs (wie wahrscheinlich Deinem Xampp Rechner) abblocken. D.h. selbst wenn die Angaben der Konfiguration absolut richtig sind, leitet GMX diese Emails nicht an den Adressaten, stattdessen wird jede Email blockiert, die landet noch nicht einmal in irgendwelchen SPAM Ordnern. Die ist einfach weg. Das ist leider eine Folge der jahrelangen SPAM Orgien privater Emailverteiler. Vielleicht hast Du im Internet einen eigenen SMTP Server oder findest einen Server (ggf. von gmail.com), der nicht so restriktiv ist, sonst wirst Du so keinerlei Email versenden können. Auf der sicheren Seite ist man da nur, wenn man einen offiziellen Webspace mit Domain bei einem professionellen Provider betreibt, das kostet auch nicht die Welt (gibt es ab ca. 2,-€/Monat) und dann hat man eine registrierte Domain und die dürfen dann auch Emails verschicken, weil Du dann nicht mehr unbekannt bist.
Nobbie
 
Posts: 9817
Joined: 09. March 2008 13:04

Re: Bringe sendmail.exe nicht zum Laufen

Postby galbur » 21. September 2017 07:46

Hallo Nobbie

Danke. Danke. Schon wieder was gelernt! Ich hab halt nicht gewusst, dass sendmail.exe und phpmailer nicht direkt etwas miteinander zu tun haben.
Ich hab schon dutzende von wordpress und joomla! installationen auf lokalen Servern zum Laufen gebracht aber mit der Mailerfunktion hab ich mich bisher leider lokal noch nicht beschäftigt.

Im CMS (im aktuellen Fall joomla!) kann ich in der Konfiguration unter Mailer zwischen PHP-Mail, Sendmail und SMTP wählen. Out of the Box funktioniert keines der Verfahren vom lokalen Server aus. Die Idee war halt, ich kann die php.ini und die sendmail.ini einmal global wie im Helpfile beschrieben bearbeiten und dann die Funktionen aus allen Installationen heraus verewenden.

Bei Sendmail im CMS gibt es eine Pfadangabe: /usr/sbin/sendmail . So ein Verzeichnis gibt es ja in xampp meines Wissens nicht. Welchen Pfad müsst ich da eintragen damit dies evtl. funtkionieren würde?

Da ich eigenen Webspace und Domains mit eigenen Mail-konten habe, ist "abblocken" wahrscheinlich kein Thema für mich. Um Formulare testen zu können, hab ich halt bisher immer eine subdomain als Testumgebung auf dem Liveserver eingerichtet und die Installationen da zum Laufen gbracht.

Danke nochmals und Gruss
Christoph
galbur
 
Posts: 11
Joined: 06. December 2014 21:55
Operating System: Win 7

Re: Bringe sendmail.exe nicht zum Laufen

Postby Nobbie » 21. September 2017 09:14

galbur wrote:Bei Sendmail im CMS gibt es eine Pfadangabe: /usr/sbin/sendmail . So ein Verzeichnis gibt es ja in xampp meines Wissens nicht. Welchen Pfad müsst ich da eintragen damit dies evtl. funtkionieren würde?


"Gibt es in Xampp nicht" ist nicht die richtige Erkenntnis. Gibt es unter Windows(!) nicht. Installiere Linux und dann hast Du es. Und Xampp für Linux gibt es auch. Du kannst probieren, statt /usr/sbin/sendmail das o.g. sendmail.exe aus dem Xampp Unterverzeichnis anzugeben, das wird genau aus Kompatibilitätsgründen (weil es unter Windows fehlt) mitgeliefert. Aber ob es WIRKLICH kompatibel ist, weißt Du nachher erst. Bei Linux ist sendmail ein echter Mailserver, bei Xampp wird nur ein "Zwischenprogramm" ausgeliefert, welches seinerseits die Email an einen anderen Mailserver schickt, damit der die eigentliche Arbeit macht. Dafür sind dann die Angaben in sendmail.ini notwendig.

galbur wrote:Um Formulare testen zu können, hab ich halt bisher immer eine subdomain als Testumgebung auf dem Liveserver eingerichtet und die Installationen da zum Laufen gbracht.


Eben. Das ist ja auch viel einfacher. Wieso jetzt nicht mehr?

P.S.: Wenn es mit sendmail.exe nicht klappt, ich würde die Option SMTP versuchen, wahrscheinlich bekommst Du dann in Joomla schon einen Dialog angezeigt, wo Du die gleichen Daten wie beim sendmail.ini eintragen kannst. Das würde ich auch mal probieren. Wichtig ist, dass man einen Login angeben geben kann (also User und Passwort). Früher waren die SMTP Server immer "offen", da konnte einfach jeder seine Mails verschicken. Deswegen kann auch die original PHP-Mail Funktion keine User und Passwort Angabe und deswegen muss man andere Wege wählen, um aus PHP eigene Mails zu senden. Es könnte natürlich sein, dass auch Joomla nur die Angabe eines SMTP Servers anbietet (ohne User und Passwort), das wäre leider zu wenig. Glaube ich aber eigentlich nicht, denn die Bibliothek PHPMailer ist ziemlich mächtig und intelligent, die kann alles, was SMTP und Konsorten können.
Nobbie
 
Posts: 9817
Joined: 09. March 2008 13:04


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 14 guests