Frage

Ich versuche derzeit eine Elgg-basierte Website zu debuggen (ich habe es nicht entwickeln) und ich würde die E-Mails gerne direkt Maschine von den lokalen Entwicklung senden (WinXP). Ich bin mit WAMP mit Apache 2.2.11 und PHP 5.3.0

Nach einiger Suche, die einfachste Lösung, die ich kenne verwendet fälscht send leitet es an meine GMail / Google Apps-Konto über SMTP und lassen sie es das Senden tun. Das Problem ist, dass ich keine Fehler überhaupt zu bekommen, aber die E-Mail gesendet wird nicht zu werden.

Hier ist, was ich getan habe:

  • Kopiert die sendmail.exe und sendmail.ini in einen Unterordner in WAMP
  • projektierter es über sendmail.ini (die Konfigurationseinstellungen sind ok)
  • Edited php.ini den Pfad hinzuzufügen zu sendmail.exe
    sendmail_path = "C:\Program Files\wamp\bin\sendmail\sendmail.exe -t"
  • die Fenster SMTP-Einstellungen in der php.ini
    kommentiert out ; SMTP = localhost
    ; smtp_port = 25
    ; sendmail_from = xxx@domain.com
    ; mail.force_extra_parameters =

Die mail.log Datei zeigt die folgende:

mail() on [C:\Program Files\wamp\www\mail.php:9]: To: xxx -- 
Headers: From: xxx  Reply-To: xxx  X-Mailer: PHP/5.3.0

Meine Vermutung ist, dass das Problem ist, dass die Standard-Windows-Option (den Server angeben und den Sendmail-Dienstprogramm nicht) nicht außer Kraft gesetzt. In phpinfo() bekomme ich immer noch die SMTP -> localhost und smtp_port -> 25 Optionen, auch wenn ich sie kommentiert.

Wenn jemand es geschafft, diese Funktion zu erhalten, würde ich wirklich etwas Hilfe zu schätzen wissen. Meiner Meinung nach, fake sendmail ist viel einfacher, als einen Mail-Server auf Ihrem Rechner installiert.

Danke!

P. S. Bitte verwenden Sie nicht den Eindruck erwecken PHPMailer und dergleichen, weil ich müssen verwenden, um die Funktion mail (). Das ist, wie Elgg funktioniert.

War es hilfreich?

Lösung

Ich habe es bekommen schließlich zu arbeiten. Das Problem war, dass PHP einen Fehler hatte beim Parsen von Ini-Dateien mit Leerzeichen in der Pfad (für send). Es wurde in Version 5.3.0 behoben, aber das Handbuch hatte keine Informationen zu diesem Thema.

Also, ja, ist es möglich, unter Windows Sendmail mit PHP zu verwenden. D

Vielen Dank für Ihre Zeit!

Andere Tipps

Vergewissern Sie sich, auf Ihrem lokalen Rechner SMTP-Dienst ausgeführt wird und dass SMTP-Port (25) geöffnet wird.

Haben Sie einen Scheck auf die Dienste (Run-> services.msc) und suchen für Send Mail Transfer

Wenn Sie nicht SMTP auf der Liste der Dienste finden können, müssen Sie es installieren: Hinzufügen, Run-> appwiz.cpl-> Hinzufügen Entfernen von Windows-Komponenten-> IIS-> Details-> SMTP

Ich bin nicht sicher, ob dies oder nicht hilft, was ich früher in diesen Szenarien zu tun war, zu gründen, Ausblick auf meinem Rechner und hat es gesetzt E-Mails aus dem Pop alle 5 Minuten zu bekommen oder so, auf dieser Weise meiner ip / Maschine wurde gegen den Pop authentifiziert und wenn ich das gerade eingerichtet:

SMTP = localhost
smtp_port = 25

in der php.ini arbeitete die Mail-Funktion in Ordnung. Also in Ihrem Fall setzt nur Ihr Outlook mit einem Pop zu arbeiten und dass smtp in php.ini verwenden und hoffentlich soll es funktionieren. Ich habe nicht dieses zwar getestet wird GMail.

  

P. S. Bitte schlagen nicht PHPMailer und dergleichen, weil ich die mail () Funktion verwenden. Das ist, wie Elgg funktioniert.

... es sei denn, Sie ein Plugin verwenden, das dieses Verhalten ändert:
http://community.elgg.org/pg/plugins/costelloc/ lesen / 16498 / phpmailer

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top