Funktionen für PHP

Status
Für weitere Antworten geschlossen.

mori

Benutzer
Mitglied seit
21. Dez 2008
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo.


Ich habe eine Frage bezüglich des Webservers in Verbinung mit PHP. Was ist der Grund, dass ich manche PHP-Funktionen über die DiskStation nicht erfolgreich ausführen kann?

Als erstes fiel mir der Befehl mail() auf, welcher den folgenden Fehler auswirft:

Warning: mail() [function.mail]: Failed to send mail. (Failed to resolve host address.) in /volume1/web/index.php on line xxx

Der nächste Fehlermeldung erreicht mich bei der Ausführung von start_session():

Fatal error: Call to undefined function start_session() in /volume1/web/index.php on line xxx

In diesem Forum hab ich zwar wenige Threads zu diesem Problem gefunden, aber keinen, welcher einen Grund dafür liefert. Vielleicht könnte mich jemand diesbezüglich bitte aufklären und mir eine etwaige Lösung vorschlagen.

Zum System selbst:
Model: DS107+ (1Woche alt) :)
Firmware: DSM 2.0-0728

Danke schonmal im Voraus. :eek:
M.f.G.
Mori
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
mail geht, wenn man im DS Manager dafür alles eingetragen hat und dort auch getestet hat.

start_session() benutze ich nicht, aber ich meine Jahlives setzt das ein in seinen Skripten.

itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ähm das Teil heisst auch session_start() und nicht start_session()! ;)
 

mori

Benutzer
Mitglied seit
21. Dez 2008
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Danke für die Anworten.

Natürlich muss es session_start() heißen, habs lediglich hier falsch hineingeschrieben. Nichtsdestotrotz lag es an etwas anderem.

Aber wegen dem mail(): Es funktioniert mit einer angegebenen Adresse, aber heißt das, dass ich die Einstellungen für die jeweile eMail-Adresse ändern muss, sobald ich die Emfängeradresse selbst ändere? Wenn ja, wie realisiere ich verschiedene Empfänger?
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
...dann wirst Du die Funktion wohl mehrmals aufrufen müssen - für jeden Empfänger ein mal. Beim Programmieren gibt es doch so schöne Schleifen. Kannst Du dir in ein paar Tagen auch unter dem Weihnachtsbaum noch mal ansehen. Irgendwie so wird das wohl zu machen sein. :rolleyes:

Woran lag es denn mit Deiner session_start()?

Trolli
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Danke für die Anworten.

Natürlich muss es session_start() heißen, habs lediglich hier falsch hineingeschrieben. Nichtsdestotrotz lag es an etwas anderem.
Das glaube ich dir nicht, denn die Fehlermeldung war eindeutig ;)
Fatal error: Call to undefined function start_session() in /volume1/web/index.php on line xxx
 

mori

Benutzer
Mitglied seit
21. Dez 2008
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
@jahlives
Du hat recht. Und weil ich vor session_start() noch etwas HTML ausführte, funktionierte es auch nicht. Ich glaube ich sollte mal wenigstens während meines (dringend nötigen!) Urlaubs die Pfoten vom Computer lassen. Aber nimm mal einem Alkoholiker den Schnaps weg. :D

@Trolli
Eine Nachricht über den Formmailer erhielt ich erst, als ich in der DS unter Benachrichtigungen SMTP-Server der Empfänger-Adresse sowie Name/Passwort des Zugangs eingetragen habe. Aber das kann doch nicht richtig sein, oder?
Mit verschiedene Adressen meinte ich Empfängeradressen, welche ich in der DS hinterlassen müsste.
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Du musst die Absenderadresse im Disk Station Manager fest definieren. Die Funktion mail() sieht auch keine Angabe des Absenders vor. Beim Mailversand muss dann lediglich noch die Empfängeradesse angegeben werden. Und die ist nun mal bei jeder Mail unterschiedlich...

Trolli
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Du musst die Absenderadresse im Disk Station Manager fest definieren. Die Funktion mail() sieht auch keine Angabe des Absenders vor. Beim Mailversand muss dann lediglich noch die Empfängeradesse angegeben werden. Und die ist nun mal bei jeder Mail unterschiedlich...

Trolli
Muss nicht unbedingt fest in der php.ini definiert sein. Die Funktion mail() hat 4. Parameter (optional) die Möglichkeit der Funktion zusätzliche Header Daten zu übergeben.
PHP:
$headers = 'From: ich@du.tld'."\r\n";
$headers .= 'Bcc: er@ich.tld'."\r\n";
$headers .= 'Reply-to: susi@strolch.tld';
dann übergibst du $headers als 4. Argument und die Absenderadresse sollte unabhängig von der php.ini gesetzt sein
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Ja. Aber der SMTP-Server incl. Benutzernamen und PW wird nun mal nicht in der Funktion hinterlegt. Und genau darum ging es mori, wenn ich das richtig verstanden hab. Das war wohl auch das Problem bei der ursprünglichen Fehlermeldung.

Trolli
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat