ispCP - Board - Support
Emails per Script oder aus Joomla anlegen - Printable Version

+- ispCP - Board - Support (http://www.isp-control.net/forum)
+-- Forum: ispCP Omega International Area (/forum-22.html)
+--- Forum: German Corner (/forum-26.html)
+---- Forum: Plauderecke (/forum-49.html)
+---- Thread: Emails per Script oder aus Joomla anlegen (/thread-10362.html)



Emails per Script oder aus Joomla anlegen - enrico73 - 04-12-2010 08:20 AM

Hat jemand eine Lösung wie man den Usern einer Webseite mit Joomla per Script oder Formular etc. eine Emailadresse im ISPCP anlegen kann und die Daten dann Automatisch per Email an den neuen User senden kann.

Die Emailadresse soll lauten usernamejoomla@domain.xy und passwort soll von der Joomla Datenbank übernommen werden. (wenn es geht)

Wäre für jede Hilfe dankbar.
Gruß Rico

(Bin kein PHP Spezialist oder so bitte beachten!)
Lese gerade diese Seite http://www.isp-control.net/documentation/doku.php?id=dev:daemon_commands_cli
create_mail_alias


RE: Emails per Script oder aus Joomla anlegen - the3rdBIT - 04-12-2010 08:38 AM

Wo soll die Adresse genau ausgelesen werden, aus den Benutzerprofilen der einzelnen User? Aus welchem Feld?


RE: Emails per Script oder aus Joomla anlegen - enrico73 - 04-12-2010 08:41 AM

(04-12-2010 08:38 AM)the3rdBIT Wrote:  Wo soll die Adresse genau ausgelesen werden, aus den Benutzerprofilen der einzelnen User? Aus welchem Feld?

Ja genau von den Benutzern. jos_users und username sowie password (md5 glaube)


RE: Emails per Script oder aus Joomla anlegen - the3rdBIT - 04-12-2010 10:23 AM

Das Passwort lässt sich nicht auslesen, da MD5 nur ein Hashwert des Passworts ist und somit nicht wieder entschlüsselbar ist. Also direkt beim Speichern der Benutzerdaten in Joomla die Infos an ispCP übergeben.
Füge der Datei /components/com_user/models/user.php auf Zeile 120 folgenden Code hinzu:
PHP Code:
exec("php [PfadZurDatei]/domain.php --action create_mail --user=".$user->get('username')." --domain '[DieDomain]' --password '".$user->get('password')."'"); 
Achtung: dies ist ein ungetesteter Quick & Dirty Code und wird auch nicht in allen nötigen Fällen ausgeführt werden (z.B. beim Passwortreset). Für etwas besseres musst du dich wohl an ein Joomla Forum wenden. Wenn du eine gute Lösung gefunden hast, poste bitte hier den Link dazu.


RE: Emails per Script oder aus Joomla anlegen - enrico73 - 04-12-2010 12:09 PM

Danke ich teste das mal. Ist doch so richtig? Ginge es auch in der reset.php oder in einem Loginmodul von Joomla. So das der User erst nach Aktivierung des Accounts seine Emailadresse bekommt.

PHP Code:
}
Zeile 120
/**
* Email in ISPCP anlegen
*/
        
exec("php http://server-domain.xy/scripts/domain.php --action create_mail --user=".$user->get('username')." --domain 'userdomain.xy' --password '".$user->get('password')."'");
/**
* ENDE
*/
    
return true;
    } 



RE: Emails per Script oder aus Joomla anlegen - gOOvER - 04-12-2010 01:29 PM

Einmal ab in die Plauderecke,


RE: Emails per Script oder aus Joomla anlegen - Jones007 - 04-12-2010 09:18 PM

Klar ginge das Rico und btw. würde ich auf solche EXEC angaben verzichten.

Würde da eher mit Headers etc. arbeiten und die werte übergeben lassen.
Entweder per Post pushen oder per Get absenden, gibt genug möglichkeiten.

Oder mit filegetcontents etc. wäre jedenfalls sauberer als mit EXEC.

Evtl. könnte man auch das anlege Script mit in die Anmelderoutine einbauen
wie gesagt, möglichkeiten gibts viele. Die frage ist nur, wie gut du dich auskennst, denn wenn du solche dinge einbindest und es falsch machst kanns auch nach hinten los gehen,


RE: Emails per Script oder aus Joomla anlegen - enrico73 - 04-12-2010 10:01 PM

(04-12-2010 09:18 PM)Jones007 Wrote:  Klar ginge das Rico und btw. würde ich auf solche EXEC angaben verzichten.

Würde da eher mit Headers etc. arbeiten und die werte übergeben lassen.
Entweder per Post pushen oder per Get absenden, gibt genug möglichkeiten.

Oder mit filegetcontents etc. wäre jedenfalls sauberer als mit EXEC.

Evtl. könnte man auch das anlege Script mit in die Anmelderoutine einbauen
wie gesagt, möglichkeiten gibts viele. Die frage ist nur, wie gut du dich auskennst, denn wenn du solche dinge einbindest und es falsch machst kanns auch nach hinten los gehen,

Ja das stimmt. Exec hat man ja normal nicht enabled in der ini. Leider kenne ich mich mit PHP nicht so aus sonst wärs sicher kein Problem. Wenn ich ein Beispielscript hätte könnte ich es mal versuchen.
(04-12-2010 10:23 AM)the3rdBIT Wrote:  Das Passwort lässt sich nicht auslesen, da MD5 nur ein Hashwert des Passworts ist und somit nicht wieder entschlüsselbar ist. Also direkt beim Speichern der Benutzerdaten in Joomla die Infos an ispCP übergeben.
Füge der Datei /components/com_user/models/user.php auf Zeile 120 folgenden Code hinzu:
PHP Code:
exec("php [PfadZurDatei]/domain.php --action create_mail --user=".$user->get('username')." --domain '[DieDomain]' --password '".$user->get('password')."'"); 
Achtung: dies ist ein ungetesteter Quick & Dirty Code und wird auch nicht in allen nötigen Fällen ausgeführt werden (z.B. beim Passwortreset). Für etwas besseres musst du dich wohl an ein Joomla Forum wenden. Wenn du eine gute Lösung gefunden hast, poste bitte hier den Link dazu.


Geht leider nicht. Warum kann ich nicht sagen leider.
Trotzdem vielen Dank.


RE: Emails per Script oder aus Joomla anlegen - Jones007 - 04-13-2010 12:16 AM

nun so was meinte ich:

// String mit Script und Variablen anhängen
$strReq="www.irgendwas.de/script.php?variable1=".$variable1wert."&blabla2=".$blabla2wert."&blabla3=wert";

$strHeader = "GET $strReq HTTP/1.0\r\n";
$strHeader .= "Host: http://www.irgendwas.de\r\n";
$strHeader .= "Connection: close\r\n";
$strHeader .= "\r\n";

// Verbindung zum Script öffnen
$fp = fsockopen("www.irgendwas.de", "80", $err_num, $err_msg, 30);

$strResponse="";
if ($fp) {
// Alles übertragen
fputs($fp, $strHeader);
}

damit kannste dann basteln. in den strReq, die variablen noch dazu und script halt etc.
Dann sollteste auch noch ne Abfrage machen obs nun erfolgreich war oder nicht, am besten noch mit Protokollierung, aber das würde hier den rahmen sprengen.

Am einfachsten wäre es wenn du dir ein Bashscript machst, was per Cron alle X minuten oder 1-2 mal am Tag aufgerufen wird und aus der Datenbank die werte nimmt und das Domain anlege Script dann auf der Console ausführt. Ist sauberer und effizienter. Dazu bei der Registrierung ein Feld machen mit dem wert 0, und wenn er seinen Account freischaltet bekommt das Feld ne 1 und das Bashscript checkt auch nur vorgänge mit 1 = neuanlegen, macht es, danach setzt es auf 2 = erledigt, und die sache lübbt.