Mailversand von PHP Applikation funktioniert nicht mehr

Status
Für weitere Antworten geschlossen.

löwe84

Benutzer
Mitglied seit
31. Aug 2010
Beiträge
53
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen

Leider habe ich seit unbekannter Zeit ein Problem mit meiner Vereinsverwaltungssoftware. Diese läuft schon lange problemlos und sehr stabil auf meiner DS. Früher auf der 210J heute auf der 213+.
Leider kann ich nicht nachvollziehen wann das Problem mit dem Mailversand erstmals auftauchte da diese Funktion nicht sehr häufig genutzt wird.
Nun zu meinen Daten:
DS 213+
DSM 4.1 2668
PMA aktuell
PHP Software Admidio (aktuelle Version)

Die Fehlermeldung:
Warning: mail(): Failed to send mail. (Failed to resolve host address.) in /volume1/web/admidiocevi/adm_program/system/classes/email.php on line 638

Diese tauch auf, wenn ich ein Mail von der Seite aus versenden möchte. Ich habe um Abhilfe zu schaffen ein neues System installiert- ohne Erfolg.

Kann mir jemand diese Meldung interpretieren?

Vielen Dank für eure Hilfe
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
failed to resolve address deutet für mich auf eine DNS-Geschichte hin. Kann denn die DS DNS Abfragen machen, sprich hast du einen DNS-Server (oft der Router) im LAN?
 

löwe84

Benutzer
Mitglied seit
31. Aug 2010
Beiträge
53
Punkte für Reaktionen
0
Punkte
0
Hallo Jahlives

Das ging ja schnell...
Mit dem Befehl NSLOOKUP wird die Router IP angezeigt. Sollte also also eigentlich funktionieren. Dass der Name nicht aufgelöst wird ist glaube ich normal..?

Gruss Löwe
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
hast du nslookup direkt auf der Konsole deiner DS gemacht? Oder doch auf deinem Client? Kann gut sein, dass dein Client kein Problem mit der Auflösung hat und die DS trotzdem stolpert. Melde dich wie im Wiki beschrieben auf der Kommandozeile deiner DS an und mach dort den nslookup. Normalerweise braucht man beim Mailversand schon funzenden DNS-Lookup. Denn du musst ja zur Domain des Empfängers die zuständigen MX Server ermitteln und das geht eigentlich nur wenn nslookup korrekt funzt
 

löwe84

Benutzer
Mitglied seit
31. Aug 2010
Beiträge
53
Punkte für Reaktionen
0
Punkte
0
Gemacht. Scheint als ob die DS meinen DNS 192.168.0.1 ebenfalls ansprechen kann.

Server1> nslookup host
Server: 192.168.0.1
Address 1: 192.168.0.1

nslookup: can't resolve 'host'
Server1> nslookup www.test.ch
Server: 192.168.0.1
Address 1: 192.168.0.1

Name: www.test.ch
Address 1: 80.74.138.140 chiron.ch-dns.net
Server1> clear
Server1> nslookup www.test.de
Server: 192.168.0.1
Address 1: 192.168.0.1

Name: www.test.de
Address 1: 217.110.104.156 support.stiftung-warentest.de
Server1>

Gruss Löwe
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
und test.de ist die Domain wo deine PHP Applikation die Mail hinsenden will?
 

löwe84

Benutzer
Mitglied seit
31. Aug 2010
Beiträge
53
Punkte für Reaktionen
0
Punkte
0
nein diese habe ich einfach so gewählt. Zieldomains sind gmail.com ziknet.ch gmx.ch usw.
Ich habe gestern noch versuchsweise den Router zurückgesetzt und frisch konfiguriert. Auch ohne Erfolg.
Könnte der Fehler theoretisch bei meinem Anbieter liegen?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
und hast du den nslookup auch mit diesen Zieldomains getestet?
Theoretisch könnte der Fehler schon auch beim Anbieter liegen, glaub ich aber weniger ;-)
 

löwe84

Benutzer
Mitglied seit
31. Aug 2010
Beiträge
53
Punkte für Reaktionen
0
Punkte
0
Hallo Jahlives
Entschuldige die späte Antwort. Ich habe nun die Zieldomains wie von dir geschrieben getestet. Es konnten alle Domains angesprochen und aufgelöst werden.
Somit sollte die DNS Auflösung klappen. Besteht die Möglichkeit, dass hier ein Problem der Berechtigungen vorhanden ist?

Heute habe ich das versenden noch einmal versucht.Ssiehe da, es taucht eine andere Meldung auf:
Warning: mail(): Failed to send mail. (Failed to resolve host address.) in /volume1/web/admidiocevi/adm_program/system/classes/email.php on line 614

In Line 614 finde ich folgendes:
if (!mail($recipient, $subject, $this->mail_body, $this->mail_properties))

Öffnet das neue Möglichkeiten?

Gruss und danke Löwe84
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
schreib in Zeile 613 mal folgendes:
PHP:
$f = fopen("/volume1/sender.txt", "a+"); 
fwrite($f, "$recipient"); 
fclose($f);
was steht denn in diesem File als Empfänger, wenn du eine Notification senden willst?
 

löwe84

Benutzer
Mitglied seit
31. Aug 2010
Beiträge
53
Punkte für Reaktionen
0
Punkte
0
Ciao

Habe ich richtig verstanden in 613? Dort steht folgendes: // das Versenden in UTF8 funktioniert noch nicht bei allen Mailclients (Outlook, GMX)

Soll ich das überschreiben?

Gruss Löwe
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
einfach nach Zeile 613 einmal enter drücken und dann diesen Code rein
 

löwe84

Benutzer
Mitglied seit
31. Aug 2010
Beiträge
53
Punkte für Reaktionen
0
Punkte
0
Also in der Zeile 213 steht nun dein Code.
Unbenannt.JPG


Die Folge bei Mailversand:

Warning: fopen(): open_basedir restriction in effect. File(/volume1/sender.txt) is not within the allowed path(s): (/etc.defaults:/usr/bin/php:/usr/syno/synoman:/etc:/var/run:/tmp:/var/spool/php:/volume1/@tmp/php:/var/services/web:/var/services/photo:/var/services/blog:/var/services/homes) in /volume1/web/admidiocevi/adm_program/system/classes/email.php on line 613 Warning: fopen(/volume1/sender.txt): failed to open stream: Operation not permitted in /volume1/web/admidiocevi/adm_program/system/classes/email.php on line 613 Warning: fwrite() expects parameter 1 to be resource, boolean given in /volume1/web/admidiocevi/adm_program/system/classes/email.php on line 614 Warning: fclose() expects parameter 1 to be resource, boolean given in /volume1/web/admidiocevi/adm_program/system/classes/email.php on line 615 Warning: mail(): Failed to send mail. (Failed to resolve host address.) in /volume1/web/admidiocevi/adm_program/system/classes/email.php on line 618
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo Jungs,

bevor ihr hier ein komplettes Mailprotokoll nachbildet, vieleicht mal die Einstellungen in der DS unter Systemsteuerung/Benachrichtigungen überprüft. Diese sind eng mit der mail-Funktion in php verknüpft und manchmal sind die Fehlermeldungen dann auch ein wenig verwirrend.

Gruß Frank
 

löwe84

Benutzer
Mitglied seit
31. Aug 2010
Beiträge
53
Punkte für Reaktionen
0
Punkte
0
Ach du heilige SCH............ ein klick und die ganze Mailerei funktioniert wieder! Ich freue mich und danke euch herzliche für eure Hilfe. Immer wieder eine Freude, wie schnell und kompetent ihr Profis zur Stelle sind.

Zur Lösung meines Problemes: die Adresse des SMTP Servers bei Benachrichtigungen war nicht eingetragen (warum auch immer). Kurz eingetippt und losgemailt.
Auf jeden Fall läuft es wieder und ich bin wieder überzeugt von der Applikation Admidio. Wenn ich herausfinde wie ich einen Wikibeitrag editieren kann ist dieses Programm etwas für die Seite von Itari.

Herzlichen Dank und einen schönen Abend. Löwe
 
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