Seite 1 von 1
Email-Funktion im Board schickt keine Email
Verfasst: 21.05.2010 08:30
von martinifox
Guten Morgen,
auch nach einiger Suche bin ich nicht fündig geworden.
Ich administriere eine Forum auf einem Server eines Freundes, darum möchte ich ungern meine SMTP-Daten auf dem Admin-Backend eingeben um dort Emails zu verschicken.
Ich möchte also gerne via php emails vom Board verschicken. Es geht hauptsächlich um die Emails bei neuem Beitrag sowie bei neuer Anmeldung. Dort habe ich die Einstellungen soweit ich weiss korrekt vorgenommen.
Nun erscheint aber im Protokoll folgende Fehlermeldung:
E-Mail-Fehler » EMAIL/PHP/mail() /forum/ucp.php
und ich bekomme auch keine Emails.
Kann mir jemand bitte weiterhelfen, wie ich wo was einstellen muss? Vielleicht auf dem Server irgendeine Dateiberechtigung?
Vielen Dank.
Gruss
Martin
PS: ich nutze die Version 3.0.7-PL1
Re: Email-Funktion im Board schickt keine Email
Verfasst: 21.05.2010 12:52
von DeepSurfer
Was für ein Webspace Server ist das Windows oder Linux ?
Wenn in der Mailfunktion des Forum steht
Name der E-Mail-Funktion: mail
Dann benutzt das Board die PHPmail Anweisung direkt an einen sendmail-binary (bei Linux)
Wenn Du die Funktion "SMTP-Server für E-Mail nutzen:" nutzt, so frag doch einfach den Freund wo er eigene Mailaddis auf seinem
Server eintragen/erstellen kann, dann kannst einfach eine Adresse direkt auf den Domainnamen aufbauen und im Forum eintragen.
Ist es ein FreeHoster ohne Mailaddi, dann soll einfach dein Kumpel sich eine Mailaddi bei den bekannten FreeMailern einrichten die auf POP3/SMTP Basis arbeiten (gmx / web / etc. ). Und schon ist das Problem gelöst.
Re: Email-Funktion im Board schickt keine Email
Verfasst: 21.05.2010 14:25
von martinifox
Nach einem längeren Gespräch mit dem Administator des Webspace-Accounts, folgendes:
Server = Linux - Apache
Dort muss ich einstellen, "wo kann man den smtp envelop from setzen kann.
und wie übergebe ich dem sendmail zusätzliche argumente ?"
ich persönlich verstehe leider zu wenig davon, aber der Admin teilte mir mit, dass ich nach der
sendmail-funktion den ausdruck "sendmail -f meine-account-daten " eintragen muss.
Es wäre sehr nett, wenn mir jemand sagen könnte, WO ich diese Datei finde und wo ich das dann eintragen muss.
Vielen Dank für Eure Hilfe.
Gruss
Martin
Re: Email-Funktion im Board schickt keine Email
Verfasst: 21.05.2010 14:39
von DeepSurfer
Dort muss ich einstellen, "wo kann man den smtp envelop from setzen kann
.
Das erwähnte Envelope wird durch die Forum-mailaddi (Antwort-E-Mail-Adresse:) im Forum definiert.
Der weitere SMTP Vorgang wird dann vom Linux-Sendmail übernommen der dann seine Server Daten (Domain) mitschickt.
und wie übergebe ich dem sendmail zusätzliche argumente ?"
Nicht nötig.
Wenn Du wie von mir beschrieben die Mailfunktion des Forum auf "mail" stellst, so übergibt das Forum alles über den PHPmailer an den sendmail des Linux.
Erst wenn Linux über diese Mail Funktion nichts verschickt ist die Möglichkeit im Forum auf "SMTP Mail" zu gehen.
Das Forum verbindet dann den envelope wieder aus dem eingetragenen Forum-Mailaddi übergibt das den SMTP Eintrag worin ja nur der Account definiert ist und verschickt dann darüber.
Beispiel (auch hier im Forum des öfteren zu lesen)
Admin-Mailaddi = eine bestehende Adresse (e.g. gmx)
Forum-Mailaddi = die selbe wie Admin-Mailaddi
SMTP Einstellung
SMTP-Server-Adresse: mail.gmx.net
SMTP-Server-Port: 25 (standard)
Authentifizierungsmethode für SMTP: LOGIN
SMTP-Benutzername: mailaddi des gmx accounts
SMTP-Passwort: sollte selbsterklärend sein.
Das Zusammenspiel bzw. Gleichnamigkeit von Forum-Mailaddi und dem SMTP Account sind wichtig, sonst lässt GMX die mail nicht durch.
Re: Email-Funktion im Board schickt keine Email
Verfasst: 21.05.2010 17:13
von engert
Das Problem ließ sich mit dem direkten SMTP-Dialog unter Nutzung von SMTP-Auth lösen. Danke für den Tipp.
Hintergrund:
Die alten Apachen gaben vielleicht Rauchzeichen, die Mail wurde erst von den europäischen Eroberern eingeführt.
Der Apache Webserver läuft unter einer eigenen User-ID, für die kein Mailkonto existiert. Die einzelnen Anwender auf dem System haben aber sehr wohl Mailkonten. Innerhalb eines PHP-Skriptes hat man aber die Rechte des Webservers. Versucht man nun, mittels sendmail eine Mail einzutüten, so werden zwar Empfänger (To-Header) und Absender (From-Header, z.B.
phpbb@example.org) korrekt gesetzt, aber der Envelope-Absender (SMTP, MAIL FROM) verbleibt auf dem Accountnamen des Webservers (z.B.
apache@example.net). Im Falle eines Fehlers (Empfänger falsch angegeben, allgemein Probleme mit der Mail, ...) würde die Mail entweder untergehen (Double Bounce) oder beim falschen Empfänger landen (nämlich beim Webmaster statt beim Betreiber des Forums, wenn man die Adresse einrichtet). Damit das nicht passiert, muß der Absender auf unserem System einen existierenden Envelope-Absender angeben.
Beim Versenden von Mail mit sendmail kann man diesen Envelope-Absender mit Hilfe der Option "-f" festlegen. Die Frage war also, wie man dem sendmail diese Option aus phpBB heraus unabhängig von der verwendeten Absenderangabe im From-Header mitteilen kann, ohne gleich den Quelltext der Software zu ändern. Die Alternative wäre gewesen, den im SMTP-Dialog verwendeten Absender zu verändern, der aber wohl (ich bin nicht so tief in den Quelltext eingestiegen) automatisch aus der regulären Absenderangabe generiert wird.
Servus, Michi.