justified Geschrieben 19. August 2009 Geschrieben 19. August 2009 Hallo Community, ich hoffe mal ich bin in diesem Forumsabschnitt richtig, der Linux-teil hat sich nach kurzem Ringen gegen den Netzwerk-teil durchgesetzt. ich habe vorgestern auf mein Laptop OpenSUSE 11.1 aufgespielt und auch schon großteils eingerichtet. Für den eigenen Webserver zum entwickeln scheint alles vorhanden zu sein: PHP ist mit allen benötigten Extensions installiert, Der Zend Community Server ist eingerichtet und läuft (beinhaltet den Apache Server), nach einigen Zicken läuft auch MySQL, aber: Die mail()-Funktion von PHP funktioniert nicht. Einen MTA (Mail Transfer Agent) habe ich schon mehrfach eingerichtet und wieder gelöscht, habe es erst mit postfix (manuell, später Yast) und dann mit sendmail (Yast) versucht. Der erste Gedanke war ein eventuelles anpassen der sendmail_path-Variable in der php.ini , hat aber nicht geholfen: sendmail_path = /usr/sbin/sendmail -t -i -f info@lee.com Also noch einmal testen, ob der Server läuft: // Postfix starten - ist schon gestartet localhost:/usr/local/zend/etc # postfix start postfix/postfix-script: fatal: the Postfix mail system is already running // Testweise Verbindung mit dem Mail-Server von GMX - keine Probleme, auch mit den SMTP, IMAP und POP Servern localhost:/usr/local/zend/etc # telnet mail.gmx.de 25 Trying 213.165.64.20... Connected to mail.gmx.de. Escape character is '^]'. 220 mail.gmx.net GMX Mailservices ESMTP {mp021} quit 221 2.0.0 GMX Mailservices {mp021} Connection closed by foreign host. // Testen ob postfix am SMTP-Port (25) hängt - bestätigt localhost:/usr/local/zend/etc # lsof -i :25 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME master 16471 root 12u IPv4 97623 0t0 TCP localhost:smtp (LISTEN) Natürlich habe ich nach Umkonfigurierungen immer den MTA neugestartet bzw. vor dem testen mit php mail() den Webserver und was dazugehört. Ich würde jetzt ja gerne meine konfigurierten Konfigdateien von Postfix anhängen, aber die letzten Versuche waren mit Yast, ich glaube nicht, dass die Konfigs da so viel weiterhelfen, wenn ich auch einfach die Einstellungen dort beschreiben kann. Yast - MTA - Konfiguration E-Mail-Serverkonfiguration: Standart (nicht erweitert) Verbindungsart: Einwahl Ausgehender Mailserver: mail.gmx.net Authentifizierung: * Benutzername: meinemailadresse@gmx.de * Passwort: meinpasswort Entfernte SMTP-Verbindungen anzeigen: (kein Häkchen) FireWall-Port öffnen: (kein Häkchen) Server: pop.gmx.de Entfernter Benutzername: meinemailadresse@gmx.de Passwort: meinpasswort Lokaler Benutzer: (Mein Standartuser Acc) Mail von root weiterleiten an: (leer) Auslieferungsmodus: direkt Virtuelle Domains/ Aliase habe ich weggelassen Ich habe schon ne Weile recherchiert und weiß jetzt(vielleicht, keine Garantie auf Richtigkeit): * postfix/sendmail verbinden senden/empfangen meistens über einen RelayHost, daher einen anderen Server, z.B. der GMX-Host. Dort benötigt man aber eine Authentifizierung. Ich habe angenommen, dass das wohl meine E-Mail Adresse und Passwort sind. * Ich habe bei der manuellen Konfiguration von postfix auch die ganzen sasl_sonstwas_auth -Einstellungen mit den zugehörigen Datenbanken usw gemacht, hat aber auch nichts gebracht Ja, wäre schön wenn mir jemand helfen kann, justified Zitieren
flashpixx Geschrieben 19. August 2009 Geschrieben 19. August 2009 Ohne die entsprechenden Logs ist nur schwer zu helfen. Was willst Du überhaupt? Du willst die Mail Funktion von PHP nutzen, diese arbeitet mit dem lokalen MTA zusammen, also kannst Du EMails an Deinen lokalen User zustellen. Wenn Du die Mails extern weiter leiten willst, dann benötigst Du den MTA mit direkter Auslieferung, was aber mit dynamischer IP bei den meisten Ziel-MTA abgelehnt wird oder Du konfigurierst Deinen MTA eben als SMTP Relay Host, so dass er die Mails an einen anderen MTA u.a. mit Authentifizierung weiter leitet, aber dafür benötigst Du kein SASL. Außerdem wird wohl der pop.gmx-Server für den Empfang via POP sein und nicht zum Versand Zitieren
justified Geschrieben 20. August 2009 Autor Geschrieben 20. August 2009 Als erstes mal Danke für die Antwort, hat schonmal einiges klargemacht. Du hast schon richtig geraten mit dem was ich will. Das mit dem POP-Server ist wohl ein Versehen beim Schreiben dieses Eintrags gewesen. Das mit der direkten Auslieferung und der Nicht-Akzeptanz bei dynamischen IPs habe ich schon gesehen, dafür wurde als Lösung eben die Konfiegurierung meines MTA per SASL... Die Sache mit dem MTA als RelayHost wird mir zu blöde (ich weiß, jemand der sich auskennt stöhnt jetzt auf), deshalb nochmal 2 Fragen: Meinst du mit lokalem MTA das bei mir installierte postfix/sendmail?Wie genau schreibe ich über den lokalen MTA an einen lokalen User? Wäre wunderbar, wenn ich das noch irgendwie hinbekomm :confused: Zitieren
flashpixx Geschrieben 20. August 2009 Geschrieben 20. August 2009 Das mit der direkten Auslieferung und der Nicht-Akzeptanz bei dynamischen IPs habe ich schon gesehen, dafür wurde als Lösung eben die Konfiegurierung meines MTA per SASL... SASL ist für die Authentifizierung da, das hat rein gar nichts mit dem Versand der Mails zu tun: Simple Authentication and Security Layer ? Wikipedia Es geht um die Authentifizierung z.B. des Users ! Die Sache mit dem MTA als RelayHost wird mir zu blöde (ich weiß, jemand der sich auskennt stöhnt jetzt auf), [...] Wenn Dir das zu blöd ist, dann bist Du selbst schuld. Denn wenn Du Mails aus Deinem MTA an beliebige Adressen ausliefern willst und keine statische IP mit entsprechenden DNS Einträgen besitzt, dann wirst Du wohl nicht anders vorgehen können Meinst du mit lokalem MTA das bei mir installierte postfix/sendmail?Wie genau schreibe ich über den lokalen MTA an einen lokalen User? zu 1. Ja zu 2. in dem Du dem User eine EMail sendest Zitieren
justified Geschrieben 20. August 2009 Autor Geschrieben 20. August 2009 Ok, dann nochmal danke, habe wohl Fehlinformationen zusammengesammelt. zu 2. in dem Du dem User eine EMail sendest Meinst du damit etwas im Sinn von mail('NameDesUsersInLinux@localhost.de', $message, $subject, $headers); ? Zitieren
asuseee Geschrieben 6. Oktober 2010 Geschrieben 6. Oktober 2010 Hallo, bin gerade dabei auf meine Internetseite ein Mailformular zu stellen. Ist auch alles soweit fertig. Nur muss ich mich bei dem Mailanbieter immer erst einloggen, bevor ich ne mail von der Seite schicken kann. Ich schicke mal den Quellcode, und hoffe, dass mir jemand helfen kann, und mir sagt, wo ich das Passwort hinschreiben muss!! <form method="post"> <p> <input type="text" name="Betreff" style="width:515px"> <br> <textarea name="EMAIL" cols="60" rows="8">Geben sie hier Ihren Text für die Textnachricht ein.</textarea><br> <input type="submit" name="SENDEN" value="Nachricht Senden"> </form> <?php if($_POST['SENDEN']){ echo "Ihre Nachricht wurde erfolgreich gesendet!"; mail("mail@info.de", $_POST['Betreff'], $_POST['mail@info.de']); } ?> Danke schonmal für eure Antwort! P.S.: Ich hoffe, ich bin hier richtig! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.