[Gelöst] Email aus Webanwendungen - SMTP

  • Wenn ich im Managementsystem die SMTP-Daten eingebe, sendet es mir bei Störungen etc. eine Email. Das funktioniert einwandfrei.


    Wenn ich bei einer PHP-Webanwendung auf dem Webserver eine Email versenden will, funktioniert dies leider nicht. Kann mir dabei jemand helfen ?

    Einmal editiert, zuletzt von Eraser-EMC2- () aus folgendem Grund: Beitrag als gelöst markiert

  • Ich habe das gleiche Problem: Warn-Email funktioniert, Email aus PHP-Datei nicht, z.B.:



    Es kommt immer die Meldung "Mail wurde NICHT gesendet!".


    Auf dem Server meines Webhosters (1&1) funktioniert es tadellos.


    TS-109 PRO II Version 2.1.4 build 0318T (PHP Version 5.2.9)


    Aus phpinfo.php:
    mail.force_extra_parameters: no value, no value
    sendmail_from: no value, no value
    sendmail_path: -t -i, -t -i
    Path to sendmail: -t -i
    SMTP: localhost, localhost
    smtp_port: 25, 25


    Weiß denn niemand eine Antwort?

  • Problem gelöst:


    Netzwerkeinstellungen: Webserver: php.ini bearbeiten: Bearbeiten:


    Im Abschnitt [mail function] das einfügen:


    Code
    [mail function]
    sendmail_path = /usr/sbin/sendmail -t -i


    Offenbar ist das in der Firmwareversion 2.1.4 build 0318T falsch konfiguriert?

  • Vielen Dank PeterPanino, jetzt funktioniert es auch bei mir mit sendmail :D


    Vorher stand dort der Eintrag
    [mail function]
    SMTP = localhost
    smtp_port = 25


    und ich nutze noch die Firmware Version 2.0.1 build 0416T

  • Freut mich! Die Einträge


    SMTP = localhost
    smtp_port = 25


    müssen natürlich dort stehenbleiben, die Zeile mit sendmail_path werden dem Abschnitt [mail function] lediglich hinzugefügt.


    Gruß, P.

    Einmal editiert, zuletzt von christian () aus folgendem Grund: Volltextzitat entfernt!

  • hallo zusammen


    Habe das selbe problem, aber bei mir geht es auch nach dem eintrag in der PHP.ini immer noch nicht, habe es sogar mit dem selben PHp script wie oben probiert und es kommt immer "mail wurde nicht versendet".
    Habt ohr sonst noch ne idee?


    Gruess
    Stephan

  • Zitat von "flex78"

    hallo zusammen


    Habe das selbe problem, aber bei mir geht es auch nach dem eintrag in der PHP.ini immer noch nicht, habe es sogar mit dem selben PHp script wie oben probiert und es kommt immer "mail wurde nicht versendet".
    Habt ohr sonst noch ne idee?


    Gruess
    Stephan


    Hallo


    Ich hatte das gleiche Problem. Obwohl ich den Code
    [mail function]
    sendmail_path = /usr/sbin/sendmail -t -i


    in der php.ini erweitert hatte.


    Bei mir kommt noch dazu, dass kein Mailserver installiert ist. Ich benutze also rein die mail() funktion. Das beteutet, dass ein ausgehender mailserver in der .ini angegeben werden muss. Am besten der des Internetdienstanbieters. So habe ich nach den Problematiken gesucht und siehe da....es funktioniert nun.


    Workaround:
    "/usr/local/apache/conf/php.ini " & "/mnt/HDA_ROOT/.config/php.ini" habe ich folgendermassen ergänzt.


    Code
    [mail function]#trage hier den ausgehenden Mailserver einSMTP = smtp.mailserver.com#prüfe ob der Port von intern und extern erreichbar istsmtp_port = 25sendmail_path = /usr/sbin/sendmail -t -i


    Wichtig: Die Parameter müssen von der php-engine zuerst übernommen werden (start, stop oder reboot), damit es auch wircklich geht. Auch die Portweiterleitung vom Router muss sichergestellt werden.


    Wenn du dies überprüfen möchtest, lege doch eine neue Datei z.B. getinfo.php an mit folgendem code, kopiere sie auf den Webserver und ruf sie über den Browser auf. Dann solten die Parameter "sendmail_path", "sendmail_path" und "smtp_port" übernommen worden sein.


    PHP
    <html>
     <head>
      <title>PHP-Informationen</title>
     </head>
     <body>
     <?php phpinfo(); ?>
     </body>
    </html>


    good luck :thumb:


    --> Ich habe eine TS-109II-Pro mit "Linux 2.6.12.6-arm1" Version

  • Hallo,
    habe das selbe Problem. Kann aus der Webanwendung keine E-Mail absenden (ueber die PHP-Funktion mail)


    Verstehe bei der Lösung folgendes nicht.
    Eintag SMTP = smtp.mailserver.com (Angabe des Verwendeten Mail Servers z.b t-online)
    Dazu muesste doch der Benutzername und die Kennung mit angegeben werden (wenn ja , wo)
    Ohne diese Angabe bring das doch nichts ? oder -> Verstehe ich etwas nicht.


    Es sollte doch der Eintrag -> sendmail_path = /usr/sbin/sendmail -t -i reichen


    Was ich auch nicht verstehe, warum der Port 25 (intern und extern freigeschaltet sein muss)
    d.h. bei einem Speedport eigene Regel fuer Port 25 eintragen (Umgeleiteter Port - Oeffentlich) oder ?
    (wenn extern freigeschaltet, besteht doch die möglichkeit das mein Server von aussen (von fremden verwendet wird).
    Zum Versenden von Mails muss das doch nicht sein oder ?


    Mein System
    TS-109 Pro II
    Firmeware : 2.1.4 build 0318
    PHP.ini bis jetzt unveraendert



    Vielen Dank im Voraus fuer eine Antwort.

  • Ich habe heute herausgefunden woran es liegt. Natürlich braucht man keine Ports für den SMTP von WAN -> LAN (auf dem Router) frei zu geben. Man möchte schließlich ja nur emails darüber versenden.


    Bei mir lag es daran, dass mein Provider (gmx.de) emails nicht versendet hat, die als Return-Path nicht die gleiche Emailadresse haben, wie das Emailkonto welches benutzt wird, um die email zu versenden. Hier ein Beispiel mit dem es bei mir funktioniert hat.


    php.ini


    Code
    [mail function]SMTP = xxx@gmx.deusername = xxxpassword = xxxsmtp_port = 25sendmail_path = /usr/sbin/sendmail -t -i


    In der php Webseite habe ich dann folgendes benutzt, um die email zu versenden


    Code
    mail('info@domain.de', 'Nachricht von http://www.homepage.de', $nachricht, 'From: '.$name.'<'.$email.'>'."\nReturn-Path: xxx@gmx.de");


    ========================================
    Simtiple
    QNAP TS-119
    Firmeware : 3.3.0 Build0629
    http://www.simtiple.de/