PHP Script für E-Mail Registrierung (eigener Service)

RetroUser

Cadet 1st Year
Registriert
März 2014
Beiträge
11
Hallo zusammen,

ich möchte unter den vielen vielen tausend E-Mail Providern gehören und habe mir dafür schon mal ein Interface besorgt.

Wollte eine simple Oberfläche, also habe ich mich für AfterLogic (hätte auch AtMail oder Horde oder sonst was sein können) entschieden.

Da ein E-Mail Service schon bestehen bleiben sollte (die Mails könnten ja auch für PayPal etc. genutzt werden), will ich aus diesem Service schon etwas größeres machen, leider kenne ich mich nicht in allen Sachen super aus und brauche auch mal etwas Hilfe, was die Server Verwaltung angeht kann ich jeder Anweisung folgen, auch was mit den direkten Root Access angeht.

Nun brauche ich aber noch sozusagen einen "Registrieren" Button bzw. ein Formular, wo sich Leute direkt registrieren können und die Daten in die SQL geschrieben werden bzw. in meinem Parallels Plesk 11 übernommen werden.
Der vServer läuft unter Debian 6.

Möchte einen ganz simplen Service, also nur:
- Gewünschte E-Mail @meinedomain.de
- Passwort
- Passwort bestätigen

Mehr brauche und möchte ich von den Usern nicht.
SMTP und IMAP funktionieren und Ports sind frei, mir geht es nun nur noch um das Registrieren-Formular.

Die Leute von meinem Server Provider meinten, dass man dafür ein PHP Script benötigt welches mit Plesk arbeitet bzw. verbunden ist.

Wollte also nun nachfragen, ob es ein einfaches freies Script in der Art gibt, was man nur etwas umändern muss (auch mit Daten zur SQL etc.) oder ob jemand so viel Erfahrung in der Programmierung hat, dass er mir solch ein Script schreiben kann, wenn es nicht zuviel Aufwand macht.
Als Dank könnte ich nur Mail unter meinem Server anbieten. :P

Ich hoffe mir kann hier geholfen werden.
Danke!
 
Mal davon abgesehen dass das überhaupt nicht clever ist ohne Kenntnisse sowas aufzuziehen, ein Script wird es nicht geben. Das wird man selber schreiben müssen. Das wird aber auch nicht so ganz einfach, da man dafür Wissen müsste in welche Datenbank von Plesk man etwas schreiben muss und was alles rein muss. Plesk ist ziemlich unübersichtlich was die Datenbankstruktur angeht.

Davon mal ab würde ich mich an deiner Stelle erst mal informieren wie es Rechtlich aussieht wenn du keinerlei persönliche Daten erheben willst. Was ist wenn mit einer dieser Mail-Adressen "Mist" gebaut wird? Dann bist du dafür haftbar! Was hält mich davon ab bei dir dann einen Account zu machen und dieses dazu zu missbrauchen Spam zu versenden?

Ich rate dir ganz dringen von deinem Vorhaben ab!!
 
Überhaupt keine Ahnung aber sowas aufziehen wollen :-D Mein Rat: Lass es sein! ;)
 
Auch wenn ich das Vorhaben auch sehr merkwürdig finde ... such mal nach "API RPC" es gibt dafür schon Services die du nur noch ansprechen musst. Das dann z.B. über ein kleines PHP Skript
 
Ist zwar schon etwas älter aber eventuell funktioniert es ja:
http://adriansauer.com/2009/05/23/emailkonto-per-console-erstellen-anleitung/

Also per PHP Formular die Daten der User übernehmen.
Dann per PHP diese Eingabe nehmen und an ein Shellscript übergeben mit exec oder shell_exec.
http://www.php.net/manual/de/function.exec.php

z.B. exec ("./useranlegen.sh $peter $passwort ");

In der useranlegen.sh steht dann nur drin: ( Shellscript )
/usr/local/psa/bin/mail --create $peter@domain.tld -passwd $passwort -cp-access false -mailbox true -mbox_quota 50M -antivirus inout

Das sollte dann so funktionieren. Achtung der ausführende User ist der User des Webservices.
Sprich wenn du das als ein anderer Benutzer ausführen willst / musst, dann hilft "sudo" weiter.
http://wiki.ubuntuusers.de/sudo/Konfiguration

Poste mal später ob du das hinbekommen hast, ist ja nicht ganz trivial. ;)
Auch wegen der Sicherheit würde ich das über sudo lösen und ihm nur erlauben auf das Script zuzugreifen.
 
Zuletzt bearbeitet:
Suxxess, genau dafür gibt es virtuelle Mailkonten mit Datenbank-Abgleich.... Nix mit "mail --create...".

Trotz allem ist das ABSOLUT NICHTS, an das man sich ohne sehr, sehr fundierte Kenntnisse machen sollte. Vor allem sollte man hier eine professionelle Rechtsberatung einholen. Bei solchen Diensten greift ganz schnell die Störerhaftung, und die kann endlos teuer werden, wenn man sich nicht korrekt absichert.

Also die korrekten Schritte lauten:
1.) Rechtsberatung holen
2.) Ausbildung hinsichtlich des sicheren Betriebs eines solchen Dienstes (und eines Dedicated Servers allgemein) machen
3.) umfangreiches Wissen hinsichtlich PHP, Datenbanken und der Struktur von Plesk ansammeln
4.) Noch einmal eine ganze Menge mehr über Maildienste lernen! Denk da vor allem an Backups und wie du damit umzugehen hast.
5.) Kosten-Nutzen - Analyse erstellen
6.) Projekt aufgeben, weil total sinnfrei

- Du bietest deinen Usern keinen Mehrwert. Warum sollten sie zu DIR gehen statt zu GMail, Outlook.com,...
- Du bist ein Niemand. Warum sollten die User DIR den verantwortungsvollen Umgang mit IHRER privaten Korrespondenz zutrauen? Warum sollten User darauf vertrauen, dass du aller-einfachste Dinge beachtest, z.B. ein halbwegs wirksames Password Hashing?
 
@Daaron
Mit wievielen Benutzern rechnest du für seinen Dienst, so dass virtuelle Mailkonten sich in der Performance und co. rechnen könnten?

Aber wahrscheinlich ging es dir darum die Mail Accounts dann per Datenbank verwalten zu können und diese dann direkt per Maria oder Mysql einpflegen zu können.
 
Korrekt, das war mein Plan hinsichtlich der Accounts.

Es bleibt aber dabei: Kein Mehrwert für die Kunden und kein Grund, sich einen Vertrauensvorschuss zu verdienen. Ein Dienst, den kein Aas braucht oder will.
 
Suxxess schrieb:
Ist zwar schon etwas älter aber eventuell funktioniert es ja:
http://adriansauer.com/2009/05/23/emailkonto-per-console-erstellen-anleitung/

Also per PHP Formular die Daten der User übernehmen.
Dann per PHP diese Eingabe nehmen und an ein Shellscript übergeben mit exec oder shell_exec.
http://www.php.net/manual/de/function.exec.php

z.B. exec ("./useranlegen.sh $peter $passwort ");

In der useranlegen.sh steht dann nur drin: ( Shellscript )
/usr/local/psa/bin/mail --create $peter@domain.tld -passwd $passwort -cp-access false -mailbox true -mbox_quota 50M -antivirus inout

Das sollte dann so funktionieren. Achtung der ausführende User ist der User des Webservices.
Sprich wenn du das als ein anderer Benutzer ausführen willst / musst, dann hilft "sudo" weiter.
http://wiki.ubuntuusers.de/sudo/Konfiguration

Poste mal später ob du das hinbekommen hast, ist ja nicht ganz trivial. ;)
Auch wegen der Sicherheit würde ich das über sudo lösen und ihm nur erlauben auf das Script zuzugreifen.

Danke Suxxess,
hab mal ein simples PHP Script geschrieben, gibt's in der Form wahrscheinlich meistens so, hab dann shell_exec genutzt, kann als sudo auch Konten anlegen, aber sobald ein Gast das Script ausführen will klappt shell_exec nicht mehr, meine Befürchtung ist, dass es mit Plesk zusammenhängt.

Plesk muss erkennen, dass in dem Moment sudo genutzt wird, Perms sind auch frei für Gäste.

Script schaut so aus:

<form method="post" action="">
<input type='hidden' name='submitted' id='submitted' value='1'/>


<label for='email' >E-Mail Adresse:</label>
<input type='text' name='email' id='email' maxlength="50" />
<br>
<label for='password' >Passwort*:</label>
<input type='password' name='password' id='password' maxlength="50" />
<input type="submit" name="submit" value="Submit" />


</form>


<?
function sanitize($data) {
$data = strip_tags(trim($data));
$search = array('/[^A-Za-z0-9\. -\!\?\(\)\<\>\@]/');
$data = preg_replace($search, '', $data);
return $data;
}




if(isset($_POST['email'])){
$_POST['email'] = sanitize($_POST['email']);
$_POST['password'] = sanitize($_POST['password']);




if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$email = $_POST['email'];
} else {
echo "Invalid email<br>";
$_POST['email'] = null;
return;
}


$password = $_POST['password'];




shell_exec ("/usr/local/psa/bin/./mail --create $email -passwd $password -mailbox true");
echo "Die E-Mail '$email' wurde mit dem Passwort '$password' eingerichtet, Sie können sich nun einloggen.";
}


?>

Also wenn ich "/usr/local/psa/bin/./mail --create $email -passwd $password -mailbox true" in der Console via sudo ausführe klappt alles wunderbar, führe ich aber im Browser das Script aus, klappt es nicht, gibt nur das echo wieder.
 
Zurück
Oben