mlight
Neuling
Posts: 3
Joined: Tue 3. Sep 2013, 12:51

Kein Mailversandt bei Registrierung in Webversion

Tue 3. Sep 2013, 13:06

Hallo zusammen,

ich habe runalyze V1.4 auf meiner Synology Diskstation am laufen und bin absolut begeistert! Installation und Bedienung laufen perfekt.

Das Einzige was nicht funktioniert, ist das Versenden der Bestätigungsmail, wenn man einen neuen Benutzer registriert. Dabei kommt die etwas wage Fehlermeldung "Das Versenden der E-Mail hat nicht geklappt. Bitte kontaktiere den Administrator." Das verschicken von Mails über

Code: Select all

<?php
mail("empfaenger@domain.de", "Betreff", "Nachricht","From: <sender@domain.de>");
?>
funktioniert einwandfrei.
Für mich ist das ganze nicht weiter tragisch, da ich die Benutzer über löschen des "activation_hash" aktiviere, und sich deren Anzahl sehr in Grenzen hält. Mich hätte nur grundsätzlich interessiert, woran das liegen könnte.

Leider halten sich meine Programmierkenntnisse auf diesem Gebiet in Grenzen. Wenn ihr mir aber sagen könnt, über welche Befehle der Mailversandt erfolgen sollte und woher runalyze die Mailserver-Daten bezieht, kann ich im Synology Forum weiter nachfragen.

Aber wie gesagt, für mich reicht der Work-Around mit Datenbank-Eintrag löschen völlig aus.
An sonsten großen Lob!!
Moritz
0 x

User avatar
laufhannes
Core developer
Posts: 761
Joined: Mon 29. Jul 2013, 20:59

Re: Kein Mailversandt bei Registrierung in Webversion

Tue 3. Sep 2013, 15:01

Danke für die Information. Jemand anderes hatte bereits ebenso von Problemen mit dem Mailversand berichtet.

Wir verwenden in /inc/system/class.System.php, ab Zeile 52:

Code: Select all

static public function sendMail($to, $subject, $message) {
	$header = "From: Runalyze <mail@runalyze.de>\nMIME-Version: 1.0\nContent-type: text/html; charset=UTF-8\n";

	return mail($to, $subject, $message, $header);
}
Und das wird aufgerufen in /inc/system/class.AccountHandler.php, in Zeile 204:

Code: Select all

if (System::sendMail($account['mail'], $subject, $message))
Ich vermute, dass in diesem Fall den Server der Header irgendwie stört.
0 x
User help -- short questions via Twitter, Facebook

Kotty
Neuling
Posts: 17
Joined: Wed 31. Jul 2013, 20:33

Re: Kein Mailversandt bei Registrierung in Webversion

Wed 4. Sep 2013, 15:40

laufhannes wrote:Danke für die Information. Jemand anderes hatte bereits ebenso von Problemen mit dem Mailversand berichtet.

Wir verwenden in /inc/system/class.System.php, ab Zeile 52:

Code: Select all

static public function sendMail($to, $subject, $message) {
	$header = "From: Runalyze <mail@runalyze.de>\nMIME-Version: 1.0\nContent-type: text/html; charset=UTF-8\n";

	return mail($to, $subject, $message, $header);
}
Und das wird aufgerufen in /inc/system/class.AccountHandler.php, in Zeile 204:

Code: Select all

if (System::sendMail($account['mail'], $subject, $message))
Ich vermute, dass in diesem Fall den Server der Header irgendwie stört.

Kann man den Fehler reproduzieren? Ich vermute dass es daran liegt dass "\n" und nicht "\r\n" verwendet wird.
0 x

User avatar
laufhannes
Core developer
Posts: 761
Joined: Mon 29. Jul 2013, 20:59

Re: Kein Mailversandt bei Registrierung in Webversion

Thu 5. Sep 2013, 13:29

Kotty wrote:Kann man den Fehler reproduzieren? Ich vermute dass es daran liegt dass "\n" und nicht "\r\n" verwendet wird.
Das vermute ich auch. Michael (mipapo) wird einmal schauen, was unser Server zu "\r\n" sagt. Im Manual steht das zumindest als korrekte Variante, wenn auch ein Hinweis folgt, dass manche Server "\n" benötigen.
0 x
User help -- short questions via Twitter, Facebook

mlight
Neuling
Posts: 3
Joined: Tue 3. Sep 2013, 12:51

Re: Kein Mailversandt bei Registrierung in Webversion

Thu 5. Sep 2013, 18:36

Ich denke ich habe das Problem gelöst. Der Fehler scheint bei meinem Mailprovider (GMX) zu liegen.

Ich kann nur dann Mails verschicken, wenn die im Header angegebene Absenderadresse eine zu meinem Konto gehörende Mailadresse ist. Sobald ich die Adresse in der class.System.php entsprechend ändere funktioniert alles einwandfrei.

Für mich ist das Problem damit gelöst. Danke für die Hilfe!

Ist es denn grundsätzlich so, dass als Absender die eigene Adresse eingetragen sein muss, oder kann man bei anderen Mailservern tatsächlich eine beliebige Adresse (also z.B. mail@runalyze.de) als Absender eintragen? Evtl. könnte man bei der Installation irgendwo einen Hinweis anzeigen, dass die entsprechende Zeile bei einigen Providern angepasst werden muss?
0 x

Kotty
Neuling
Posts: 17
Joined: Wed 31. Jul 2013, 20:33

Re: Kein Mailversandt bei Registrierung in Webversion

Thu 5. Sep 2013, 22:28

mlight wrote:Ich denke ich habe das Problem gelöst. Der Fehler scheint bei meinem Mailprovider (GMX) zu liegen.
ich red morgen mal mit den Zuständigen Mailadmins um das gegen zu checken :)
0 x

Tradellus
Neuling
Posts: 2
Joined: Tue 24. Dec 2013, 11:37

Re: Kein Mailversandt bei Registrierung in Webversion

Tue 24. Dec 2013, 11:53

Hallo zusammen,

ich versuche auch gerade auf der Synology mit laufendem mysql und PHPMyAdmin "Runalyze"
zum Laufen zu bekommen.

Leider bekomme ich schon auf der Setupseite von Runalyze keine Verbindung zur MySQL-Datenbank
auf der Synology. Kann mir jemand sagen, wie ich das Problem am besten analysiert bekomme?
Bin vorgegangen, wie in der Installationsanleitung. Der MySQL-Server wird von mir auch schon anderweitig
genutzt und funktioniert.

Meldung: Die Verbindungsdaten sind falsch. Eine Verbindung konnte nicht hergestellt werden.
Es ändert sich auch nichts wenn ich de Port angebe...

Einstellungen:
Host-Server: 192.168.1.250
Datenbank runalyze
Benutzer testbenutzer
Passwort xxxxx

Auf dem MySQL-Server habe ich einen neuen Nutzer mit Passwort und den Rechten an einer neuen Datenbank
angelegt.

Danke schön und frohe Weihnacht...

gruß
Benny
0 x

mlight
Neuling
Posts: 3
Joined: Tue 3. Sep 2013, 12:51

Re: Kein Mailversandt bei Registrierung in Webversion

Wed 25. Dec 2013, 22:52

Ich erinner mich wage, dass ich auch erst Probleme hatte. Letztendlich lag's bei mir wohl an den Rechten des runalyze-Benutzers. Zum laufen gebracht habe ich es, indem ich dem Benutzer 'runalyze'@'localhost' zusätzlich folgende datenbankspezifischen Rechte eingetragen habe:

Code: Select all

Datenbank 	Rechte           GRANT 	Tabellenspezifische Rechte 	Aktion
runalyze     ALL PRIVILEGES   Nein 	 Nein 	                      Rechte ändern 	Entfernen
runalyze\_%  ALL PRIVILEGES   Nein     Nein                          Rechte ändern 	Entfernen
An globalen Rechten hat der Nutzer nur SELECT. Ich bin mir nicht sicher, ob das die perfekte Lösung ist, aber bei mir läuft's so und vielleicht hilft dir das auch weiter.
Viele Grüße
Moritz
0 x

Kotty
Neuling
Posts: 17
Joined: Wed 31. Jul 2013, 20:33

Re: Kein Mailversandt bei Registrierung in Webversion

Thu 2. Jan 2014, 09:14

Hi Benny,
Tradellus wrote:Hallo zusammen,
[...]
Einstellungen:
Host-Server: 192.168.1.250
Datenbank runalyze
Benutzer testbenutzer
Passwort xxxxx
[...]
lauscht denn der MySQL Server auf der IP oder lauscht der evtl. nur auf der 127.0.0.1?
Welche Rechte hat denn der Benutzer testbenutzer?

Gib mal folgendes auf einer MySQL Console ein:

Code: Select all

SELECT * FROM mysql.db WHERE Db = 'runalyze' \G
Uns poste hier den Output.

Grüße

Kotty
0 x

Tradellus
Neuling
Posts: 2
Joined: Tue 24. Dec 2013, 11:37

Re: Kein Mailversandt bei Registrierung in Webversion

Thu 2. Jan 2014, 10:46

Hallo, danke für die Antworten....

lauscht denn der MySQL Server auf der IP oder lauscht der evtl. nur auf der 127.0.0.1?

Antwort: eigentlich auf der IP. Zumindest meine andere Anwendung, die den MySql-Server nutzt
erreicht diesen über die IP. Nun habe ich aber auch nicht besonders viel Ahnung. Habe gerade festgestellt,
dass wenn ich bei der Runalyze-Installation nicht die IP sondern localhost eingebe, ich eine Verbindung bekomme.
Da ja Web-Server und Mysql-Server auf einer Kiste laufen, ist das doch ohne Probleme so nutzbar, richtig?

Welche Rechte hat denn der Benutzer testbenutzer?

Gib mal folgendes auf einer MySQL Console ein:

Code: Alles auswählen
SELECT * FROM mysql.db WHERE Db = 'runalyze' \G

Antwort:
mysql> SELECT * FROM mysql.db WHERE Db = 'runalyze' \G
*************************** 1. row ***************************
Host: %
Db: runalyze
User: testbenutzer
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Grant_priv: N
References_priv: Y
Index_priv: Y
Alter_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Execute_priv: Y
Event_priv: Y
Trigger_priv: Y

Danke für eure Hilfe,
Für mich bleibt nur die Frage, warum ich ihn nicht auf der IP erreiche?
über phpMyAdmin konnte ich zum Nutzer angeben, dass jeder Host ihn verwenden kann.
Wenn ich das so richtig verstanden habe.

gruß
Benny
0 x

Return to “Runalyze v1.4”

Who is online

Users browsing this forum: No registered users and 1 guest