Regina: PHP mail() und QMail

Hallo,

auf meinem Linux-Server läuft RedHat 9, QMail (installiert nach http://www.qmailrocks.org/install_rh.htm und Apache 2 mit PHP 4.2.2 als MOD.

Wenn ich nun mittels der php-Funktion mail() eine E-Mail versenden will, kommt nichts an. Ich fürchte, dass QMail nicht richtig installiert ist, bzw das Mail-Senden am Server nicht funktioniert.

ps -aux gibt folgendes aus:

USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND root         1  0.1  0.0  1388  476 ?        S    10:53   0:08 init [3] root         2  0.0  0.0     0    0 ?        SW   10:53   0:00 [keventd] root         3  0.0  0.0     0    0 ?        SWN  10:53   0:00 [ksoftirqd_CPU0] root         4  0.0  0.0     0    0 ?        SW   10:53   0:00 [kswapd] root         5  0.0  0.0     0    0 ?        SW   10:53   0:00 [bdflush] root         6  0.0  0.0     0    0 ?        SW   10:53   0:00 [kupdated] root         7  0.0  0.0     0    0 ?        SW   10:53   0:00 [pagebufd] root         8  0.0  0.0     0    0 ?        SW   10:53   0:00 [xfslogd/0] root         9  0.0  0.0     0    0 ?        SW   10:53   0:00 [xfsdatad/0] root        10  0.0  0.0     0    0 ?        SW   10:53   0:00 [scsi_eh_0] root        11  0.0  0.0     0    0 ?        SW   10:53   0:01 [kjournald] root       596  0.0  0.0     0    0 ?        SW   10:53   0:00 [kjournald] root       908  0.0  0.1  1980  956 ?        S    10:53   0:00 /sbin/dhclient -1 root       951  0.0  0.1  1464  556 ?        S    10:53   0:00 syslogd -m 0 root       955  0.0  0.0  1388  432 ?        S    10:53   0:00 klogd -x named     1034  0.0  0.5 11536 2576 ?        S    10:53   0:00 /usr/sbin/named - root      1048  0.0  0.2  3520 1424 ?        S    10:54   0:00 /usr/sbin/sshd ntp       1079  0.0  0.4  2412 2404 ?        SL   10:54   0:00 ntpd -U ntp root      1092  0.0  0.2  4204 1152 ?        S    10:54   0:00 /bin/sh /usr/bin/ mysql     1126  0.0  0.6 14580 3136 ?        S    10:54   0:00 /usr/libexec/mysq root      1129  0.0  0.0  1476  496 ?        S    10:54   0:00 /usr/lib/courier- root      1132  0.0  0.0  1364  268 ?        S    10:54   0:00 /usr/lib/courier- root      1140  0.0  0.0  1476  496 ?        S    10:54   0:00 /usr/lib/courier- root      1143  0.0  0.0  1364  268 ?        S    10:54   0:00 /usr/lib/courier- root      1149  0.0  0.0  1476  496 ?        S    10:54   0:00 /usr/lib/courier- root      1151  0.0  0.0  1360  264 ?        S    10:54   0:00 /usr/lib/courier- root      1159  0.0  0.0  1476  496 ?        S    10:54   0:00 /usr/lib/courier- root      1163  0.0  0.0  1360  264 ?        S    10:54   0:00 /usr/lib/courier- qmails    1168  0.0  0.0  1428  352 ?        S    10:54   0:00 qmail-send qmaill    1170  0.0  0.0  1380  412 ?        S    10:54   0:00 splogger qmail root      1171  0.0  0.0  1384  288 ?        S    10:54   0:00 qmail-lspawn ./Ma qmailr    1172  0.0  0.0  1380  292 ?        S    10:54   0:00 qmail-rspawn qmailq    1173  0.0  0.0  1372  296 ?        S    10:54   0:00 qmail-clean root      1197  0.0  0.3  3788 1560 ?        S    10:54   0:00 /usr/sbin/stunnel root      1210  0.0  1.5 17964 7788 ?        S    10:54   0:00 /usr/sbin/httpd root      1246  0.0  1.5 17904 7720 ?        S    10:54   0:00 /usr/sbin/httpd apache    1247  0.0  1.6 18396 8596 ?        S    10:54   0:00 /usr/sbin/httpd apache    1248  0.0  1.7 18744 8904 ?        S    10:54   0:00 /usr/sbin/httpd apache    1249  0.0  1.7 18488 8672 ?        S    10:54   0:00 /usr/sbin/httpd apache    1250  0.0  1.7 18736 8916 ?        S    10:54   0:01 /usr/sbin/httpd apache    1251  0.0  1.6 18312 8560 ?        S    10:54   0:00 /usr/sbin/httpd apache    1252  0.0  1.7 18456 8648 ?        S    10:54   0:00 /usr/sbin/httpd apache    1253  0.0  1.7 18484 8728 ?        S    10:54   0:00 /usr/sbin/httpd apache    1254  0.0  1.7 18484 8720 ?        S    10:54   0:00 /usr/sbin/httpd root      1255  0.0  0.7  7780 3924 ?        S    10:54   0:00 /usr/local/psa/ad root      1275  0.0  0.1  1448  584 ?        S    10:54   0:00 crond xfs       1304  0.0  0.6  5372 3072 ?        S    10:54   0:00 xfs -droppriv -da root      1330  0.0  0.1  3420  548 ?        S    10:54   0:00 rhnsd --interval root      1336  0.0  0.0  1368  404 tty1     S    10:54   0:00 /sbin/mingetty tt root      1337  0.0  0.0  1368  404 tty2     S    10:54   0:00 /sbin/mingetty tt root      1338  0.0  0.0  1368  404 tty3     S    10:54   0:00 /sbin/mingetty tt root      1339  0.0  0.0  1368  404 tty4     S    10:54   0:00 /sbin/mingetty tt root      1340  0.0  0.0  1368  404 tty5     S    10:54   0:00 /sbin/mingetty tt root      1341  0.0  0.0  1368  404 tty6     S    10:54   0:00 /sbin/mingetty tt root      1342  0.0  0.0  1380  448 ttyS0    S    10:54   0:00 /sbin/agetty -L t root      1343  0.0  0.2  2120 1016 ?        S    10:54   0:00 /bin/sh /command/ root      1345  0.0  0.0  1404  304 ?        S    10:54   0:00 svscan /service root      1346  0.0  0.0  1356  224 ?        S    10:54   0:00 readproctitle ser root      1347  0.0  0.0  1364  268 ?        S    10:54   0:05 supervise qmail-s root      1348  0.0  0.0  1364  268 ?        S    10:54   0:00 supervise log root      1349  0.0  0.0  1364  268 ?        S    10:54   0:00 supervise qmail-s root      1350  0.0  0.0  1364  268 ?        S    10:54   0:00 supervise log root      1351  0.0  0.0  1364  268 ?        S    10:54   0:05 supervise qmail-p root      1352  0.0  0.0  1364  268 ?        S    10:54   0:00 supervise log qmaill    1354  0.0  0.0  1384  320 ?        S    10:54   0:00 multilog t s10000 vpopmail  1355  0.0  0.0  1436  456 ?        S    10:54   0:00 /usr/local/bin/tc qmaill    1357  0.0  0.0  1376  264 ?        S    10:54   0:00 multilog t s10000 qmaill    1366  0.0  0.0  1384  320 ?        S    10:54   0:00 multilog t s10000 root      6554  0.5  0.4  6800 2048 ?        S    12:41   0:00 /usr/sbin/sshd root      6587  0.4  0.2  4392 1472 pts/0    S    12:41   0:00 -bash qmails    6717  0.0  0.0     0    0 ?        Z    12:41   0:00 [qmail-send <defu root      6722  0.0  0.0     0    0 ?        Z    12:41   0:00 [tcpserver <defun root      6723  0.0  0.1  2696  740 pts/0    R    12:41   0:00 ps -aux

ps aux | grep read gibt folgendes aus:

root      1346  0.0  0.0  1356  224 ?        S    10:54   0:00 readproctitle service errors: ...................................................................................................................................................................................................................................

Woran kann das liegen? Wie kann ich es der mail() Funktion ermöglichen, dass die Mails auch verschickt werden.

Vielen Dank

Regina

  1. Hello,

    auf meinem Linux-Server läuft RedHat 9, QMail (installiert nach http://www.qmailrocks.org/install_rh.htm und Apache 2 mit PHP 4.2.2 als MOD.

    Wenn ich nun mittels der php-Funktion mail() eine E-Mail versenden will, kommt nichts an. Ich fürchte, dass QMail nicht richtig installiert ist, bzw das Mail-Senden am Server nicht funktioniert.

    Die Prozesstabelle war hier nicht hilfreich. Allerdings wäre der Eintrag zu sendmail_path aus der phpinfo() hilfreich. Der muss auf qmail verweisen.

    PHP nutzt hier ja nur straight forward den eingerichteten und aktiven SMTP-Agent.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Hello,

      Hi!

      Die Prozesstabelle war hier nicht hilfreich. Allerdings wäre der Eintrag zu sendmail_path aus der phpinfo() hilfreich. Der muss auf qmail verweisen.

      sendmail_path = /usr/sbin/sendmail -t -i

      Ich habe zudem mal versucht, eine E-Mail per telnet zu versenden. Es kommt auc nichts an. Also liegt es IMHO an den QMail Einstellungen.

      Wie gehe ich zur Fehlersuche vor?

      Vielen Dank

      Regina

      1. Hello,

        Hello,

        Hi!

        Die Prozesstabelle war hier nicht hilfreich. Allerdings wäre der Eintrag zu sendmail_path aus der phpinfo() hilfreich. Der muss auf qmail verweisen.

        sendmail_path = /usr/sbin/sendmail -t -i

        Ich habe zudem mal versucht, eine E-Mail per telnet zu versenden. Es kommt auc nichts an. Also liegt es IMHO an den QMail Einstellungen.

        Wie gehe ich zur Fehlersuche vor?

        indem man erst einmal schaut, ob /usr/sbin/sendmail denn ein softlink ist und auf das passende Programm verzweigt.

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. Hello,

          Hello,

          Hi!

          Die Prozesstabelle war hier nicht hilfreich. Allerdings wäre der Eintrag zu sendmail_path aus der phpinfo() hilfreich. Der muss auf qmail verweisen.

          sendmail_path = /usr/sbin/sendmail -t -i

          Ich habe zudem mal versucht, eine E-Mail per telnet zu versenden. Es kommt auc nichts an. Also liegt es IMHO an den QMail Einstellungen.

          Korrektur: Die Mails kommen doch an, wenn ich welche über Telnet sende.

          Wie gehe ich zur Fehlersuche vor?

          indem man erst einmal schaut, ob /usr/sbin/sendmail denn ein softlink ist und auf das passende Programm verzweigt.

          /usr/sbin/sendmail ist ein Softlink:

          sendmail -> /var/qmail/bin/sendmail

          mail() gibt ausserdem false zurück.

          Wie soll ich weiter vorgehen?

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          Gruß

          Regina

          1. Hello,

            sendmail_path = /usr/sbin/sendmail -t -i

            Ich habe zudem mal versucht, eine E-Mail per telnet zu versenden. Es kommt auc nichts an. Also liegt es IMHO an den QMail Einstellungen.

            Korrektur: Die Mails kommen doch an, wenn ich welche über Telnet sende.

            telnet ist böse[tm]
            Hast Du kein ssh? Selbst ssh 1 ist nicht ein 1000stel so böse wie telnet.

            Wie gehe ich zur Fehlersuche vor?

            indem man erst einmal schaut, ob /usr/sbin/sendmail denn ein softlink ist und auf das passende Programm verzweigt.

            /usr/sbin/sendmail ist ein Softlink:

            sendmail -> /var/qmail/bin/sendmail

            mail() gibt ausserdem false zurück.

            Wie soll ich weiter vorgehen?

            Immer so weiter. Also der Linkkette erstmal folgen, bis du beim eigentlichen Programm angekommen bist. Dann hat das Ding ja eine Doku (ich habe auch neulich eine bei <http://selfhtml.bitworks.de > abgelegt.

            Wenn Du beim Programm angekommen bist, erstmal alle Schnellinfos kommen lassen, die es Dir zur Verfügung stellt. also option --help oder so. Und dann versuchen, direkt von der Shell mit dem Prog zu arbeiten. Gucken obs ankommt.

            Wenn das klappt, ist der Fehler ja bei PHP zu vermuten.
            BTW: ist denn der Webserver schon mal neu gestartet worden? Kann sein, dass der sich den senmail_path noch gar nicht reingelutscht hat.

            Liebe Grüße aus http://www.braunschweig.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. Hallo Tom,

              Korrektur: Die Mails kommen doch an, wenn ich welche über Telnet sende.
              telnet ist böse[tm]
              Hast Du kein ssh? Selbst ssh 1 ist nicht ein 1000stel so böse wie telnet.

              Ich glaube, sie meint eher, dass sie mit einem Telnet-Client auf den SMTP-Daemon zugreift und so manuell die SMTP-Befehle eingibt.
              Es kann auch sein, dass ich mich da irre - es ist zumindest das erste, was ich in diese Aussage reininterpretiere.

              Viele Grüße
                Patrick Canterino

              1. Hello,

                Korrektur: Die Mails kommen doch an, wenn ich welche über Telnet sende.
                telnet ist böse[tm]
                Hast Du kein ssh? Selbst ssh 1 ist nicht ein 1000stel so böse wie telnet.

                Ich glaube, sie meint eher, dass sie mit einem Telnet-Client auf den SMTP-Daemon zugreift und so manuell die SMTP-Befehle eingibt.
                Es kann auch sein, dass ich mich da irre - es ist zumindest das erste, was ich in diese Aussage reininterpretiere.

                Ja. So habe ich das auch verstanden. Ich würde abe nicht mehr mit einem Telnet-Client auf den Server zugreifen, da der Telnet-Deamon eben sehr leicht zu knacken ist. Das Verfahren ist zu alt und zu unsauber programmiert.

                Liebe Grüße aus http://www.braunschweig.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau
                1. Hi Tom,

                  Ja. So habe ich das auch verstanden. Ich würde abe nicht mehr mit einem Telnet-Client auf den Server zugreifen, da der Telnet-Deamon eben sehr leicht zu knacken ist. Das Verfahren ist zu alt und zu unsauber programmiert.

                  der Begriff »Telnet-Client« ist eigentlich falsch. Das Programm, was gemeinhin unter diesem Titel bekannt ist, ist eigentlich ein universelles TCP-Werkzeug, was nicht nur mit dem Telnet-Daemon (welcher in der Tat böse[tm] ist), sondern auch mit allen anderen Programmen, die auf einem TCP-Port lauschen, kommuniziert - so eben auch mit dem SMTPd.

                  Viele Grüße
                   Benjamin

  2. Moin!

    Wenn ich nun mittels der php-Funktion mail() eine E-Mail versenden will, kommt nichts an. Ich fürchte, dass QMail nicht richtig installiert ist, bzw das Mail-Senden am Server nicht funktioniert.

    Das entnimmst du doch am schlauesten dem Logfile von QMail.

    Wie kann ich es der mail() Funktion ermöglichen, dass die Mails auch verschickt werden.

    Die php.ini bietet dazu ein paar Einstellmöglichkeiten. Üblicherweise macht PHP da aber keine Schwierigkeiten, weil unter Unix einfach das Systemkommando "sendmail" genutzt wird - und das bietet auch QMail an.

    - Sven Rautenberg