Hallo,
Ich habe das Problem, das keine E-mail versendet wird, weder bei der Regestrierung oder bei Sonstigen menüfeldern
Kann mir jemand helfen? danke!
Druckbare Version
Hallo,
Ich habe das Problem, das keine E-mail versendet wird, weder bei der Regestrierung oder bei Sonstigen menüfeldern
Kann mir jemand helfen? danke!
Wo ist denn die Installation installiert (Provider oder localhost)?
Ich verstehe nicht ganz was du meinst, es ist bei lima-city.de drauf
der msql dafür ist mysql.lima-city.de
Habe das Vms 1.2 ohne klamm einbindung
Schon mal probiert, ob du generell über PHP Emails versenden kannst?
Was ich meinte: Es gibt User, die sich das Script lokal installieren, unter Windows - und keinen MTA installiert haben ;)
probier doch mal folgendes skript auszuführen (zum teten der mail() funktion)
('benutzer@example.com' mit deiner mailadresse ersetzen)
wenns nicht geht musste ma deinen hoster anhauen.PHP-Code:
<?php
// Die Nachricht
$nachricht = "Das ist ein Test";
// Falls eine Zeile der Nachricht mehr als 70 Zeichen enthälten könnte,
// sollte wordwrap() benutzt werden
$nachricht = wordwrap($nachricht, 70);
// Send
mail('benutzer@example.com', 'Mein Betreff', $nachricht);
?>
ps.: is das evtl. nen windows server ?
Nein es kommt keine mail an!
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)
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:thumb:
Bitte :) Und ... ähm, ja - hinten anstellen :D
Ich hab das problem auch mit normalen Mails kann es sein das das 1.2.3 nur noch mit Mysql 5 richtig funktioniert? hat vielleicht jemand ne Lösung das es auch mit der 4er Mysql geht?
mfg
petro43
jo, auf die neueste mysql version updaten :yes:
ne, also mir wäre da nichts bekannt, afaik hat sich auch an der datenbank struktur wenig bis gar nichts seit der letzten version geändert.
evtl. liegt es an einem addon? bzw daran, dass manche mailer/crons mehr spalten in der tabelle vorraussetzen als im grundscript enthalten?