1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Wir danken allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben.

PHP und sendmail

Dieses Thema im Forum "Hardware" wurde erstellt von ddauer, 22. Februar 2002.

  1. ddauer

    ddauer New Member

    Hallo!

    wie kann ich ne Mail mit PHP von meinem Computer aus losschiken?

    mail("em@pfaeng.er","Testmail", "Dies ist nur eine Testnachricht.");

    irgendwie muss das mit sendmail gehen.

    dave
     
  2. hakru

    hakru New Member

  3. ddauer

    ddauer New Member

    danke, aber geht das wirkich mit dem sudo chmod g-w /?

    passiert da nichts weiter?

    dave
     
  4. hakru

    hakru New Member

    sudo chmod g-w /

    Damit werden die Schreibrechte in der "Root"-Directory für "group" abgezogen. Wären diese Schreibrechte vorhanden, bringt sendmail eine Fehlermedlung und verweigert den Dienst. Passieren kann eigentlich nix, ist halt wie immer beim Terminal, richtig tippen. Ne alte Schule von Unix-Sysadmmins sagt, man soll JEDEN Befehl, den man als "root" (oder via sudo) im Terminal ausführt, in ein Büchlein schreiben ...

    hakru

    PS.: Es kommt auch vor, daß man diesen Befehl z.B. nach Updates etc. wiederholen muss, da diese Installer den default-Zustand der Schreibrechte herstellen ...
     
  5. ddauer

    ddauer New Member

    wenn ich jetzt die mail.php aufrufe, dann zeigt er die Datei zwar an, aber ne Mail hab ich trotzdem nicht! woran liegt das?
    muss ich was bei Router eintragen (/etc/hostconfig oder so)

    dave
     
  6. hakru

    hakru New Member

    Hi,
    schickst Du die mail an einen lokalen user - also an username@localhost, oder soll die mail rausgehen?

    hakru
     
  7. ddauer

    ddauer New Member

    eigtenlich will ich beides benutzten. in diesem fall was an ddauer@mac.com

    dave
     
  8. hakru

    hakru New Member

    Teste doch mal im Terminal, ob sendmail richtig funktioniert - schicke eine Mail an dich selbst.

    Im Terminal:

    mail deinUserName@localhost
    Subject: test
    Hier dann als Text was du willst, zum Beenden der Mail ein einzelner Punkt (.) auf eine eigene Zeile - so
    .

    Du kannst ja parallel zum Verschicken die Console.app (unter Apps->Utilities) öffnen, dann siehst du sendmail messages vermutlich sowas:

    localhost sendmail[891]: My unqualified host name (localhost) unknown; sleeping for retry

    Feb 24 09:40:24 localhost sendmail[891]: unable to qualify my own domain name (localhost) -- using short name

    Nach der 2. Messages "... using shortname" solltest du dann mit "mail" im Terminal die Mail sehen. Klappt das?

    hakru
     
  9. ddauer

    ddauer New Member

    Nein.

    im Terminal kommt das hier:

    [ddauer:~] admin% /etc/mail/sendmail.cf: line 81: fileclass: cannot open /etc/mail/local-host-names: Group writable directory

    obwohl ich das su chmod .... gemacht habe!

    dave
     
  10. hakru

    hakru New Member

    Aha! Dann ist bei dir die mail-Directory /etc/mail "group-Writable". Das kannst du unbeschadet ändern mit:

    sudo chmod g-w /etc/mail

    wenn das alles war? Ich hab' auch schon Anleitungen gesehen, mit langer Liste an möglichen Directories, die sendmail gerne not-group-writable hätte (ich suche mal den link) ...

    hakru
     
  11. ddauer

    ddauer New Member

    komisch geht immer noch nicht ! der sagt, dass /etc/mail/local-host-names
    auch g-w ist. aber wenn ich sudo chmod g-w /etc/mail/local-host-names mach, gehts auch nich!

    dave
     
  12. hakru

    hakru New Member

    so, hier ist der Link:
    http://www.kung-foo.tv/xtips.shtml

    dort steht der chmod-Befehl so (1 Zeile!!):

    chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue

    Das andere Zeugs, das dort steht würd' ich nicht machen. Wenn sendmail nur mail verschicken soll, brauchst du den MailServer in hostconfig nicht. Dein Problem ist nur ein gültiger hostname ... dazu kommen wir dann noch

    hakru
     
  13. hakru

    hakru New Member

    Es geht um die Directory /etc/mail, also:

    sudo chmod g-w /etc/mail

    hakru
     
  14. ddauer

    ddauer New Member

    also:
    ich hab chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue gemacht, und jetzt gehts!
    nur ne frage; wie kann ich die testmail löschen?
    da steht:
    "/var/mail/admin": 1 message 1 new
    >N 1 admin Sun Feb 24 10:12 13/382 "as"

    irgendwie mit d

    dave
     
  15. hakru

    hakru New Member

    Die Terminal "mail" kenn ich auch nicht besonders, aber mit d1 (wenn Nummmer 1 in der mail-Liste gelöscht werden soll) müsste es klappen, mit q (quit) kommt man hoffentlich wieder raus ;-) Sonst halt mal "man mail" tippen und lesen.

    Also sendmail klappt jetzt!! Damit du mail nach aussen schicken kannst, brauchst Du einen DNS-gültigen hostname. Um mal kurz zu testen, kannst du da mal "www.eagle.com" nehmen. Im Terminal kannst Du dann den Namen setzen

    sudo hostname www.eagle.com

    Mit dem Befehl "hostname" allein siehtst du, dass dein Rechner jetzt www.eagle.com heisst ...

    Jetzt wieder ne mail verschicken im Terminal, aber an eine externe Adresse

    mail hansrudolph@mac.com
    Subject: Deine Sendmail tips
    Der Mist klappt jetzt hoffentlich;-)
    .

    Dann werden wir ja sehen

    hakru
     
  16. ddauer

    ddauer New Member

    hm.. ich denke, es liegt am Router.
    im termial kommt immer ne MSG:
    Feb 24 10:23:03 ddauer lookupd[199]: DNSAgent: dns_send_query_server - timeout for 192.168.1.1
    aber ich bin 192.168.1.12!

    dave
     
  17. hakru

    hakru New Member

    Hmm, macht dein Router DNS-forwarding? Was hast du denn auf deinem Rechner in den Netzwerkeinstellungen? Als Router natürlich die IP des Routers, aber was steht bei DNS server? Gib da mal den Nameserver deines providers ein ...

    hakru
     
  18. ddauer

    ddauer New Member

    hmm.. keine Ahnung, hab den Vigor2002 Series oder so.

    Netzwekreinstellungen? ich geh über den AirPort rein. AirPort->Router->DSL Modem.
    In den Netzwerkeinstelungen bei Domain Name Server steht nichts
    in der /etc/hostconfig steht bei mit das:
    ##
    # /etc/hostconfig
    ##
    # This file is maintained by the system control panels
    ##

    # Network configuration
    HOSTNAME=ddauer.dyndns.org
    ROUTER=-AUTOMATIC-

    # Services
    AFPSERVER=-YES-
    APPLETALK=-NO-
    AUTHSERVER=-NO-
    AUTOMOUNT=-YES-
    CONFIGSERVER=-NO-
    IPFORWARDING=-NO-
    MAILSERVER=-YES-
    MANAGEMENTSERVER=-NO-
    NETINFOSERVER=-AUTOMATIC-
    RPCSERVER=-AUTOMATIC-
    NETBOOTSERVER=-NO-
    NISDOMAIN=-NO-
    TIMESYNC=-YES-
    QTSSERVER=-NO-
    SSHSERVER=-YES-
    WEBSERVER=-YES-
    APPLETALK_HOSTNAME="Computer"
     
  19. hakru

    hakru New Member

    hostconfig sieht okay aus (den MailServer braucht man zum Verschicken nicht)
    Ich kenne zwar Aiport nicht, aber das wird doch vermutlich auch in SystemEinstellungen->Netzwerk konfiguriert, oder?
    IP addresse manuell, hast du ja 192.168.1.12
    teilmaske 255.255.255.0
    router 192.168.1.1
    DNS server z.B 194.25.2.129 (telekom)
    oder eben den DNS server deines providers ...

    hakru
     

Diese Seite empfehlen