Sie sind nicht angemeldet.

Anzeigen

**Wir werden in den kommenden Tagen einen Umzug auf einen neuen Server durchführen. Im Rahmen dieser Maßnahme wird das Forum ca. 1 Stunde nicht erreichbar sein.** nslu2-info.de ist ein privates Projekt von mir, welches jeden Monat aus eigener Tasche finanziert wird. Mit einer freiwilligen Spende wird der Erhalt und der weitere Ausbau dieses Forums unterstützt. Um mich beim Erhalt des Forums zu unterstützen, kannst Du entweder via Flattr oder Paypal spenden. Ich bedanke mich schon jetzt bei allen Unterstützern.

Lieber Besucher, herzlich willkommen bei: Die NSLU2 Community****wenns ums speichern und streamen geht****. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

oliver69

Schüler

  • »oliver69« ist der Autor dieses Themas

Beiträge: 111

Firmwareversion / your current Firmware: originale Firmware 2.3r24

  • Nachricht senden

1

Dienstag, 28. November 2006, 23:33

mail mit php

Hallo,
ich wollte aus einem php skript mail senden. geht leider nicht. weiss jemand wo und wie man das interne php des webservers konfigurieren muss damit das klappt?

Anzeigen

2

Mittwoch, 29. November 2006, 21:10

Hi!

Ist denn "sendmail" installiert?
Und kannst Du damit "per Hand" Mails verschicken?
(oft muss man ja zunächst sich mit "pop3" am Mailserver des Providers authentifizieren). Mit einer dynamischen IP ist es heutzutage unmöglich (SPAM-Filter der Provider) Mails an andere Mailserver direkt zu verschicken. Man muss also immer über den Mailserver eines Providers gehen, bei dem man einen POP3 Account hat.

In der php.ini wird das zu verwendende Mail-Programm angegeben (z.B. sendmail).

Wenn aus PHP heraus das Senden nicht geht (aber von der Shell schon), dann wäre eine Möglichkeit dass das PHP Programm die zu versendenen Mails generiert und zunächst in ein "Spooler" Verzeichnis ablegt. Danach kann ein shell script (regelmässig aufgerufen über cron) das Versenden übernehmen.

Beispiel für so ein Script:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/sh
export PATH="/opt/sbin:/opt/bin:/usr/sbin:/usr/bin:/sbin:/bin"
echo -n "Sending mails "
for i in `find /opt/var/mails -type f -name "*.txt"`
do
cat $i | sendmail -t
if [ $? = 0 ];
    then rm -r $i
    echo -n "."
fi
done
echo " done"
Das Script sucht im Verzeichnis /opt/var/mails alle Dateien mit der Endung ".txt" und versendet sie per sendmail.
PHP Programme müssen also nur noch in diesem Verzeichnis die entsprechenden Mail-Dateien anlegen. Als Name kann z.B. immer der aktuelle Zeitstempel (also z.B. YYYYMMTTHHMMSS) verwendet werden, damit keine bereits vorhandene Datei überschrieben wird.
Also z.B.
mail20061129190302.txt
mail20061129190510.txt
etc. (Funktioniert, wenn maximal nur eine Mail pro Sekunde erzeugt wird, ansonsten muss man sich halt ein komplexeres System überlegen).

Whatever

Anzeigen

oliver69

Schüler

  • »oliver69« ist der Autor dieses Themas

Beiträge: 111

Firmwareversion / your current Firmware: originale Firmware 2.3r24

  • Nachricht senden

3

Donnerstag, 30. November 2006, 09:25

Danke für die ausführliche Erklärung. Werde ich mal probieren, sollte dann eigentlich kein Problem sein da mein Internet-Anschluss eine feste IP hat.
sendmail wäre auch eine Möglichkeit. Denke aber das Problem ist die php.ini.
Das im Web-Server integrierte PHP scheint diese nicht zu verwenden....

4

Donnerstag, 30. November 2006, 11:13

Hallo,

hast Du einen symbolischen Link im appWeb Verzeichnis auf die php.ini eingerichtet?

Siehe dazu auch folgendes FAQ aus unserer Homepage:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[B]Bestimmte Funktionen in PHP gehen nicht. [/B]
[B]Änderungen an der /opt/etc/php.ini Datei haben keine Wirkung. [/B]
[B]Was kann ich tun?[/B]
 
Der appWeb Server lädt leider nicht die php.ini Datei aus dem 
Verzeichnis /opt/etc/, sondern er erwartet die php.ini Datei in seinem 
root Verzeichnis /opt/var/appWeb. Sie können das ganz leicht selbst 
korrigieren, indem Sie sich einloggen, in das /opt/var/appWeb Verzeichnis 
wechseln und folgenden Befehl eingeben: "ln -s /opt/etc/php.ini php.ini". 
Dies bewirkt, dass ein symbolischer Link auf die tatsächliche Datei erstellt 
wird und appWeb die php.ini nun findet. Ab der miniLAMP Version 1.1.1 ist
dieser Fehler bereits gefixt. Um die Änderungen an der php.ini Datei 
wirksam zu machen, müssen Sie den appWeb Server neu starten oder
einfach neu booten.


Whatever

Social Bookmarks