sendmail-from sagt alles.... ist deine Registrierungsemail.
Eine direkte Umstellung auf smtp-Versand würde es verinfachen, da lima-city.de sicher nicht autorisiert ist fremde Absender-Adressen zu nutzen (bei vernünftigen Anbietern per DNS-Eintrag gesperrt).
lima city ist ein freehoster (zwar mit punkte system, womit man sich einzelne sachen freischalten kann).
daher empfehle ich dir eh nen richtigen paid hoster, oder du informierst dich im forum von lima city, ob man sich mail() dort freischalten lassen kann.
(aber selbst wenn, kommen mails von freehostern oft nicht an, da die quasi generell auf den blacklisten stehen)
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)
Gibt es eine Möglichkeit, die Anmeldung so weiterzuleiten, das der User keine Aktiv mail bestätigen muss, sondern sofort freigeschaltet wird?
Anmeldung.php
PHP-Code:
<?php
// Variabel vordefinieren!
if (!isset($_POST['anmelden'])) $_POST['anmelden'] = "";
if (!isset($_POST['nickname'])) $_POST['nickname'] = "";
if (!isset($_POST['nachname'])) $_POST['nachname'] = "";
if (!isset($_POST['vorname'])) $_POST['vorname'] = "";
if (!isset($_POST['emailadresse'])) $_POST['emailadresse'] = "";
if (!isset($_POST['passwort_1'])) $_POST['passwort_1'] = "";
if (!isset($_POST['passwort_2'])) $_POST['passwort_2'] = "";
if (!isset($_POST['uid_passwort'])) $_POST['uid_passwort'] = "";
if (!isset($_POST['uid'])) $_POST['uid'] = "";
if (!isset($_POST['agb'])) $_POST['agb'] = "";
if (!isset($_POST['newsletter'])) $_POST['newsletter'] = "1";
if (!isset($_POST['paidmails'])) $_POST['paidmails'] = "1";
if (!isset($error)) $error = "";
if (!isset($anmeldeok)) $anmeldeok = "";
if (!isset($ak)) $ak = "";
if ($_POST['anmelden'] == "Jetzt anmelden!") {
// SecVMS change begin
$_GET['nachname'] = addslashes ($_GET['nachname']);
$_GET['vorname'] = addslashes ($_GET['vorname']);
$_POST['nickname'] = htmlspecialchars ($_POST['nickname']);
// SecVMS change end
$schnittstelle = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")) or die("Userinfo");
$tag = strtotime("".date("m")."/".date("d")."/".date("Y")." 0 hours 0 minutes 0 seconds");
$s_verbrauch = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_schnittstelle_anfragen WHERE zeit='".$tag."' and uid='0'"));
// Auf Eingabefehler prüfen
if(!$_POST['nachname'] || !$_POST['vorname'] || !$_POST['emailadresse'] || !$_POST['passwort_1'] || !$_POST['passwort_2'] || !$_POST['nickname']) $error .= 'Bitte fülle alle benötigten Felder aus!<br>';
// Pruefen, ob man sich mit der eMail-Domain anmelden darf
$denied = explode(';', $pageconfig['denied_domains']);
foreach ($denied AS $nr => $emaildomain) if (($nr < (count ($denied)-2) || strlen ($emaildomain) >= 5) && strpos ($_POST['emailadresse'], $emaildomain) !== FALSE) $error .= 'E-Mail-Adressen mit der Domain "<i>'.$emaildomain.'</i>" sind bei uns nicht erlaubt!<br>';
if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse'])) $error .= 'Der Emailsyntax ist falsch!<br>';
if ($_POST['passwort_1'] != $_POST['passwort_2']) $error .= 'Passwörter stimmen nicht überein!<br>';
if (strlen($_POST['passwort_1']) < 8) $error .= 'Passwortlänge muss min. 8 Zeichen haben<br>';
if (ereg("[^0-9]", $_POST['uid'])) $error .= 'Bei der Klamm Id nur Zahlen!<br>';
if ($_POST['agb'] != "ja") $error .= 'Du musst die AGBs bestädigen!<br>';
if ($schnittstelle['anfragen_tag'] != 0 and $schnittstelle['anfragen_tag'] <= $s_verbrauch) $error = 'Die Schnittstellenanfragen sind für heute verbraucht!!!<br>';
// User mit der Datenbank abgleichen
if (!$error) {
$nickname = ucfirst($_POST['nickname']);
$nickname_check =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$nickname."'");
$user_check = db_query ("SELECT `uid` FROM ".$db_prefix."_kontodaten WHERE uid='".$_POST['uid']."'");
$mail_check = db_query ("SELECT `emailadresse` FROM ".$db_prefix."_emaildaten WHERE emailadresse='".$_POST['emailadresse']."'");
$black_check= db_query ("SELECT * FROM ".$db_prefix."_userblacklist WHERE uid='".$_POST['uid']."' and zeit >='".time()."'");
$sperre = mysql_fetch_array($black_check);
if ($sperre['zeit'] != 99999999999) {
$sperrtext = 'Du bist für eine Neuanmeldung noch bis <b>'.date("d.m.Y - H:i:s",$sperre['zeit']).'</b> gesperrt!<br>';
} else {
$sperrtext = '<b><i>Du bist für diese Webseite komplett gesperrt!</i></b>';
}
if (mysql_num_rows($user_check)) $error .= 'Du bist bereits bei uns angemeldet!<br>';
if (mysql_num_rows($mail_check)) $error .= 'Diese Emailadresse ist schon im System!<br>';
if (mysql_num_rows($black_check)) $error = $sperrtext;
if (mysql_num_rows($nickname_check)) $error .='Der Nickname ist schon vergeben!<br>';
}
// User eintragen
if (!$error) {
if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 0) $mailstatus = 0;
if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 0) $mailstatus = 1;
if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 1) $mailstatus = 2;
if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 1) $mailstatus = 3;
db_query("INSERT INTO ".$db_prefix."_kontodaten (passwort,status,hinweis,kontostand) VALUES ('".md5($_POST['passwort_1'])."','0','','0')");
$uid = mysql_insert_id();
db_query("INSERT INTO ".$db_prefix."_emaildaten (uid,emailadresse,freigabe_fuer) VALUES (".$uid.",'".$_POST['emailadresse']."','".$mailstatus."')");
db_query("INSERT INTO ".$db_prefix."_userdaten (uid,nickname,vorname,nachname,angemeldet_seit) VALUES (".$uid.",'".$nickname."','".$_POST['vorname']."','".$_POST['nachname']."','".time()."')");
$ws = db_query("SELECT * FROM ".$db_prefix."_werberdaten WHERE uid='".$uid."'");
db_query("INSERT INTO ".$db_prefix."_werberdaten (uid,werber,umsatz,zuordnungszeit) VALUES (".$uid.",'".$_SESSION['werber']."','0','".time()."')");
$ak = md5($uid.''.time());
db_query("INSERT INTO ".$db_prefix."_aktivierungen (uid,ak) VALUES (".$uid.",'".$ak."')");
$email_message = 'Hallo, '.$_POST['nickname'].'
Du hast Dich soeben erfolgreich bei '.$seitenname.' angemeldet.
Bitte aktiviere jetzt Deinen Account, klicke dazu bitte auf den
Aktivierungslink: '.$domain.'/?content=/intern/aktivieren&ak='.$ak.'
----------------------------------------------------------
Nickname: '.$_POST['nickname'].'
User-ID : '.$uid.'
Passwort: '.$_POST['passwort_1'].'
----------------------------------------------------------
Nach der Aktivierung kannst Du dich sofort einloggen und bei
uns teilnehmen.
Mit freundlichen Grüßen
Das '.$seitenname.' Team
';
@mail($_POST['emailadresse'], "$seitenname Accountaktivierung", $email_message, "FROM: $seitenname <$betreibermail>");
$anmeldeok = "true";
}
}
if ($error){
head("Anfeldefehler");
echo '<font color="#cc0000">'.$error.'</font>';
foot();
}
?>
<? if ($anmeldeok != "true") { ?>
<?head("$seitenname - Neuanmeldung");?>
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<form action="" method="post">
<tr>
<td class="main"><b>Nickname:</b></td>
<td class="main"><input type="text" name="nickname" value="<?=$nickname;?>"></td>
</tr>
<tr>
<td class="main"><b>Nachname:</b></td>
<td class="main"><input type="text" name="nachname" value="<?=$_POST['nachname'];?>"></td>
</tr>
<tr>
<td class="main"><b>Vorname:</b></td>
<td class="main"><input type="text" name="vorname" value="<?=$_POST['vorname'];?>"></td>
</tr>
<tr>
<td class="main"><b>Emailadresse:</b></td>
<td class="main"><input type="text" name="emailadresse" value="<?=$_POST['emailadresse'];?>"></td>
</tr>
<tr>
<td class="main">Werber:</td>
<td class="main"><? if($_SESSION['werber'] == 0) {echo '<b>keinen</b>';} else {echo $_SESSION['werber'];}?></td>
</tr>
<tr>
<td class="main"><b>Passwort:</b></td>
<td class="main"><input type="password" name="passwort_1"></td>
</tr>
<tr>
<td class="main"><b>Passwortbestätigung:</b></td>
<td class="main"><input type="password" name="passwort_2"></td>
</tr>
<tr>
<td class="main"><b>Paidmails empfangen:</b></td>
<td class="main"><select name="paidmails"><option value="1" <? if ($_POST['paidmails'] == 1) { echo 'selected';}?>>Ja</option><option value="0" <? if ($_POST['paidmails'] != 1) { echo 'selected';}?>>Nein</option></select></td>
</tr>
<tr>
<td class="main"><b>Newsletter:</b></td>
<td class="main"><select name="newsletter"><option value="1" <? if ($_POST['newsletter'] == "1") { echo 'selected';}?>>Ja</option></select></td>
</tr>
<tr>
<td class="main"><b>AGB`s gelesen und akzeptiert:</b></td>
<td class="main"><select name="agb"><option value="ja" <? if ($_POST['agb'] == "ja") { echo 'selected';}?>>Ja</option><option value="nein" <? if ($_POST['agb'] != "ja") { echo 'selected';}?>>Nein</option></select></td>
</tr>
<tr>
<td class="main" align="center" colspan="2">
Vor dem Anmelden lese bitte die AGB`s!<br><br>
<input type="submit" name="anmelden" value="Jetzt anmelden!">
</td>
</tr>
</form>
</table>
<?foot();?>
<?} else {?>
<?head("$seitenname - Anmeldung erfolgreich!");?>
Deine Anmeldung bei <?=$seitenname;?> war erfolgreich, Du bekommst jetzt eine Email mit Deinen Daten und einen Aktivierungslink.
Sobald Du deinen Account aktiviert hast kannst Du dich bei uns einloggen und diese Seite im vollen Umfang nutzen.<br>
<br>
Bitte beachte dass es auch etwas dauern kann bis die Aktivierungsmail bei Dir ankommt, dieses ist anhängig von Deinem Emailanbieter.<br>
<br>
Mit freundlichen Grüßen<br>
Das <?=$seitenname;?> Team<br>
<?foot();?>
<? } ?>
Anmeldung.php
(edit: User wird sofort freigeschaltet)
PHP-Code:
<?php
// Variabel vordefinieren!
if (!isset($_POST['anmelden'])) $_POST['anmelden'] = "";
if (!isset($_POST['nickname'])) $_POST['nickname'] = "";
if (!isset($_POST['nachname'])) $_POST['nachname'] = "";
if (!isset($_POST['vorname'])) $_POST['vorname'] = "";
if (!isset($_POST['emailadresse'])) $_POST['emailadresse'] = "";
if (!isset($_POST['passwort_1'])) $_POST['passwort_1'] = "";
if (!isset($_POST['passwort_2'])) $_POST['passwort_2'] = "";
if (!isset($_POST['uid_passwort'])) $_POST['uid_passwort'] = "";
if (!isset($_POST['uid'])) $_POST['uid'] = "";
if (!isset($_POST['agb'])) $_POST['agb'] = "";
if (!isset($_POST['newsletter'])) $_POST['newsletter'] = "1";
if (!isset($_POST['paidmails'])) $_POST['paidmails'] = "1";
if (!isset($error)) $error = "";
if (!isset($anmeldeok)) $anmeldeok = "";
if (!isset($ak)) $ak = "";
if ($_POST['anmelden'] == "Jetzt anmelden!") {
// SecVMS change begin
$_GET['nachname'] = addslashes ($_GET['nachname']);
$_GET['vorname'] = addslashes ($_GET['vorname']);
$_POST['nickname'] = htmlspecialchars ($_POST['nickname']);
// SecVMS change end
$schnittstelle = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")) or die("Userinfo");
$tag = strtotime("".date("m")."/".date("d")."/".date("Y")." 0 hours 0 minutes 0 seconds");
$s_verbrauch = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_schnittstelle_anfragen WHERE zeit='".$tag."' and uid='0'"));
// Auf Eingabefehler prüfen
if(!$_POST['nachname'] || !$_POST['vorname'] || !$_POST['emailadresse'] || !$_POST['passwort_1'] || !$_POST['passwort_2'] || !$_POST['nickname']) $error .= 'Bitte fülle alle benötigten Felder aus!<br>';
// Pruefen, ob man sich mit der eMail-Domain anmelden darf
$denied = explode(';', $pageconfig['denied_domains']);
foreach ($denied AS $nr => $emaildomain) if (($nr < (count ($denied)-2) || strlen ($emaildomain) >= 5) && strpos ($_POST['emailadresse'], $emaildomain) !== FALSE) $error .= 'E-Mail-Adressen mit der Domain "<i>'.$emaildomain.'</i>" sind bei uns nicht erlaubt!<br>';
if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse'])) $error .= 'Der Emailsyntax ist falsch!<br>';
if ($_POST['passwort_1'] != $_POST['passwort_2']) $error .= 'Passwörter stimmen nicht überein!<br>';
if (strlen($_POST['passwort_1']) < 8) $error .= 'Passwortlänge muss min. 8 Zeichen haben<br>';
if (ereg("[^0-9]", $_POST['uid'])) $error .= 'Bei der Klamm Id nur Zahlen!<br>';
if ($_POST['agb'] != "ja") $error .= 'Du musst die AGBs bestädigen!<br>';
if ($schnittstelle['anfragen_tag'] != 0 and $schnittstelle['anfragen_tag'] <= $s_verbrauch) $error = 'Die Schnittstellenanfragen sind für heute verbraucht!!!<br>';
// User mit der Datenbank abgleichen
if (!$error) {
$nickname = ucfirst($_POST['nickname']);
$nickname_check =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$nickname."'");
$user_check = db_query ("SELECT `uid` FROM ".$db_prefix."_kontodaten WHERE uid='".$_POST['uid']."'");
$mail_check = db_query ("SELECT `emailadresse` FROM ".$db_prefix."_emaildaten WHERE emailadresse='".$_POST['emailadresse']."'");
$black_check= db_query ("SELECT * FROM ".$db_prefix."_userblacklist WHERE uid='".$_POST['uid']."' and zeit >='".time()."'");
$sperre = mysql_fetch_array($black_check);
if ($sperre['zeit'] != 99999999999) {
$sperrtext = 'Du bist für eine Neuanmeldung noch bis <b>'.date("d.m.Y - H:i:s",$sperre['zeit']).'</b> gesperrt!<br>';
} else {
$sperrtext = '<b><i>Du bist für diese Webseite komplett gesperrt!</i></b>';
}
if (mysql_num_rows($user_check)) $error .= 'Du bist bereits bei uns angemeldet!<br>';
if (mysql_num_rows($mail_check)) $error .= 'Diese Emailadresse ist schon im System!<br>';
if (mysql_num_rows($black_check)) $error = $sperrtext;
if (mysql_num_rows($nickname_check)) $error .='Der Nickname ist schon vergeben!<br>';
}
// User eintragen
if (!$error) {
if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 0) $mailstatus = 0;
if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 0) $mailstatus = 1;
if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 1) $mailstatus = 2;
if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 1) $mailstatus = 3;
db_query("INSERT INTO ".$db_prefix."_kontodaten (passwort,status,hinweis,kontostand) VALUES ('".md5($_POST['passwort_1'])."','1','','0')");
$uid = mysql_insert_id();
db_query("INSERT INTO ".$db_prefix."_emaildaten (uid,emailadresse,freigabe_fuer) VALUES (".$uid.",'".$_POST['emailadresse']."','".$mailstatus."')");
db_query("INSERT INTO ".$db_prefix."_userdaten (uid,nickname,vorname,nachname,angemeldet_seit) VALUES (".$uid.",'".$nickname."','".$_POST['vorname']."','".$_POST['nachname']."','".time()."')");
$ws = db_query("SELECT * FROM ".$db_prefix."_werberdaten WHERE uid='".$uid."'");
db_query("INSERT INTO ".$db_prefix."_werberdaten (uid,werber,umsatz,zuordnungszeit) VALUES (".$uid.",'".$_SESSION['werber']."','0','".time()."')");
$anmeldeok = "true";
}
}
if ($error){
head("Anfeldefehler");
echo '<font color="#cc0000">'.$error.'</font>';
foot();
}
?>
<? if ($anmeldeok != "true") { ?>
<?head("$seitenname - Neuanmeldung");?>
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<form action="" method="post">
<tr>
<td class="main"><b>Nickname:</b></td>
<td class="main"><input type="text" name="nickname" value="<?=$nickname;?>"></td>
</tr>
<tr>
<td class="main"><b>Nachname:</b></td>
<td class="main"><input type="text" name="nachname" value="<?=$_POST['nachname'];?>"></td>
</tr>
<tr>
<td class="main"><b>Vorname:</b></td>
<td class="main"><input type="text" name="vorname" value="<?=$_POST['vorname'];?>"></td>
</tr>
<tr>
<td class="main"><b>Emailadresse:</b></td>
<td class="main"><input type="text" name="emailadresse" value="<?=$_POST['emailadresse'];?>"></td>
</tr>
<tr>
<td class="main">Werber:</td>
<td class="main"><? if($_SESSION['werber'] == 0) {echo '<b>keinen</b>';} else {echo $_SESSION['werber'];}?></td>
</tr>
<tr>
<td class="main"><b>Passwort:</b></td>
<td class="main"><input type="password" name="passwort_1"></td>
</tr>
<tr>
<td class="main"><b>Passwortbestätigung:</b></td>
<td class="main"><input type="password" name="passwort_2"></td>
</tr>
<tr>
<td class="main"><b>Paidmails empfangen:</b></td>
<td class="main"><select name="paidmails"><option value="1" <? if ($_POST['paidmails'] == 1) { echo 'selected';}?>>Ja</option><option value="0" <? if ($_POST['paidmails'] != 1) { echo 'selected';}?>>Nein</option></select></td>
</tr>
<tr>
<td class="main"><b>Newsletter:</b></td>
<td class="main"><select name="newsletter"><option value="1" <? if ($_POST['newsletter'] == "1") { echo 'selected';}?>>Ja</option></select></td>
</tr>
<tr>
<td class="main"><b>AGB`s gelesen und akzeptiert:</b></td>
<td class="main"><select name="agb"><option value="ja" <? if ($_POST['agb'] == "ja") { echo 'selected';}?>>Ja</option><option value="nein" <? if ($_POST['agb'] != "ja") { echo 'selected';}?>>Nein</option></select></td>
</tr>
<tr>
<td class="main" align="center" colspan="2">
Vor dem Anmelden lese bitte die AGB`s!<br><br>
<input type="submit" name="anmelden" value="Jetzt anmelden!">
</td>
</tr>
</form>
</table>
<?foot();?>
<?} else {?>
<?head("$seitenname - Anmeldung erfolgreich!");?>
Deine Anmeldung bei <?=$seitenname;?> war erfolgreich, Du bekommst jetzt eine Email mit Deinen Daten und einen Aktivierungslink.
Sobald Du deinen Account aktiviert hast kannst Du dich bei uns einloggen und diese Seite im vollen Umfang nutzen.<br>
<br>
Bitte beachte dass es auch etwas dauern kann bis die Aktivierungsmail bei Dir ankommt, dieses ist anhängig von Deinem Emailanbieter.<br>
<br>
Mit freundlichen Grüßen<br>
Das <?=$seitenname;?> Team<br>
<?foot();?>
<? } ?>
ya der user soll sofort freigeschaltet werden, Dank dir, ich will kinder von dir :P
Bitte Und ... ähm, ja - hinten anstellen