Archiv verlassen und diese Seite im Standarddesign anzeigen : Keine Mail werden gesendet
Hi,
ich habe schon die Forensuche benutzt aber keine Lösung gefunden.
Wenn man sich z.B anmeldet erhält man keine AKtivierugsmail, auch keine Newsletter...
Gibt es eine Möglichkeit das Script über nen Smtp Server die Mail zu verschicken?
Oder was kann man noch machen damit das geht?
Hallo,
wo hostest du denn? Rede dochmal mit dienem Hoster das er die mail() aktiviert. Im VMS gibt es direkt noch keine möglichkeit emails per smtp zu versenden, jedoch kann man sich da eine Erweiterung machen.
Im Forum von kilu.info gibt es z.B. eine solche Funktion zum Download ;)
Gruß
Gremlin
Der Hoster hat keinen Mailserver.
Kann mir wer das einbauen?
Dann wechsel lieber den hoster xD wenn der nichtmal nen Mailserver hat :rolleyes: das mit dem smtp Mailen ist einfach die Anleitung findest du in o.g. Forum
WIe geht der Link zu dem Download finde den nicht.
http://www.kilu.info/viewtopic.php?t=1337
Leider kann man folgende Seite nicht aufrufen:
http://killerfaultier.kilu.de/smtp_mailer.txt
SebbyPHM
30.08.2007, 15:36
mmmh, ich kann die seite schon aufrufen...
function server_parse($socket, $response, $line = __LINE__)
{
$server_response = '';
while (substr($server_response, 3, 1) != ' ')
{
if (!($server_response = fgets($socket, 256)))
{
echo 'Couldn\'t get mail server response codes<br />';
}
}
if (!(substr($server_response, 0, 3) == $response))
{
echo "Ran into problems sending Mail. Response: $server_response<br />";
}
}
function smtpmail($mail_to, $subject, $message, $headers = '')
{
$smtp_host = '';
$smtp_username = '';
$smtp_password = '';
$absender = '';
$message = preg_replace("#(?<!\r)\n#si", "\r\n", $message);
if ($headers != '')
{
if (is_array($headers))
{
if (sizeof($headers) > 1)
{
$headers = join("\n", $headers);
}
else
{
$headers = $headers[0];
}
}
$headers = chop($headers);
$headers = preg_replace('#(?<!\r)\n#si', "\r\n", $headers);
$header_array = explode("\r\n", $headers);
@reset($header_array);
$headers = '';
while(list(, $header) = each($header_array))
{
if (preg_match('#^cc:#si', $header))
{
$cc = preg_replace('#^cc:(.*)#si', '\1', $header);
}
else if (preg_match('#^bcc:#si', $header))
{
$bcc = preg_replace('#^bcc:(.*)#si', '\1', $header);
$header = '';
}
$headers .= ($header != '') ? $header . "\r\n" : '';
}
$headers = chop($headers);
if ($cc) $cc = explode(', ', $cc);
if ($bcc) $bcc = explode(', ', $bcc);
}
if (trim($subject) == '')
{
echo 'No email Subject specified<br />';
}
if (trim($message) == '')
{
echo 'Email message was blank<br />';
}
if( !$socket = @fsockopen($smtp_host, 25, $errno, $errstr, 20) )
{
echo "Could not connect to smtp host : $errno : $errstr<br />";
}
server_parse($socket, "220", __LINE__);
if( !empty($smtp_username) && !empty($smtp_password) )
{
fputs($socket, "HELO " . $smtp_host . "\r\n");
server_parse($socket, "250", __LINE__);
fputs($socket, "AUTH LOGIN\r\n");
server_parse($socket, "334", __LINE__);
fputs($socket, base64_encode($smtp_username) . "\r\n");
server_parse($socket, "334", __LINE__);
fputs($socket, base64_encode($smtp_password) . "\r\n");
server_parse($socket, "235", __LINE__);
}
else
{
fputs($socket, "EHLO " . $smtp_host . "\r\n");
server_parse($socket, "250", __LINE__);
}
fputs($socket, "MAIL FROM: <" . $absender . ">\r\n");
server_parse($socket, "250", __LINE__);
$to_header = '';
$mail_to = (trim($mail_to) == '') ? 'Undisclosed-recipients:;' : trim($mail_to);
if (preg_match('#[^ ]+\@[^ ]+#', $mail_to))
{
fputs($socket, "RCPT TO: <$mail_to>\r\n");
server_parse($socket, "250", __LINE__);
}
@reset($bcc);
if (isset($bcc))
{
while(list(, $bcc_address) = each($bcc))
{
$bcc_address = trim($bcc_address);
if (preg_match('#[^ ]+\@[^ ]+#', $bcc_address))
{
fputs($socket, "RCPT TO: <$bcc_address>\r\n");
server_parse($socket, "250", __LINE__);
}
}
}
@reset($cc);
if (isset($cc))
{
while(list(, $cc_address) = each($cc))
{
$cc_address = trim($cc_address);
if (preg_match('#[^ ]+\@[^ ]+#', $cc_address))
{
fputs($socket, "RCPT TO: <$cc_address>\r\n");
server_parse($socket, "250", __LINE__);
}
}
}
fputs($socket, "DATA\r\n");
server_parse($socket, "354", __LINE__);
fputs($socket, "Subject: $subject\r\n");
fputs($socket, "To: $mail_to\r\n");
fputs($socket, "$headers\r\n\r\n");
fputs($socket, "$message\r\n");
fputs($socket, ".\r\n");
server_parse($socket, "250", __LINE__);
fputs($socket, "QUIT\r\n");
fclose($socket);
return true;
}
Komisch.
Und was soll ich nun damit?
Ich dachte daist ne ANleitung dabei?
Oo liest du auch die Links die ich gepostet habe? Solltest du mal tun, denn da ist die ANleitung :rolleyes:
Füge folgendes Script einfach in jede Seite, die Mails verschicken soll ein, oder in ein config-File, das überall includet wird:
http://killerfaultier.kilu.de/smtp_mailer.txt
ändere die variablen: $smtp_host, $smtp_username, $smtp_password und $adsender
Nun kannst du Mails über die Funktion smtpmail() verschicken
P.S. Die smtpmail() Funktion stammt von einem phpbb und wurde leicht modifiziert.
Ja lese ich.
Aber ich finde weder in der functions.lib.php mail() noch in anmelden.php.
in der functions.lib.php kommt die Funktion aus der smtp_mailer.txt rein, und in der content/intern/anmelden.php steht sehr wohl irgendwo mail(), auch in anderen Dateien wirst du noch mail() finden.
Gruß
Gremlin
Also in der functions...php einfach einfügen irgendwo oben?
ABer in der anmelden.php finde ich das ned auch php coder nicht.
Ja einfach vor ?> einfügen. Wegen anmelden.php wenn da nirgendswo die mail Function drin ist lad das original vms runter es ist drin.... ;)
<?
// 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']);
// 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['uid'] || !$_POST['uid_passwort'] || !$_POST['nickname']) $error .= 'Bitte fülle alle benötigten Felder aus!<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 ($_POST['uid'] == $_SESSION['werber']) $error .= 'Du kannst Dich nicht selber werben<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 beim Betreiber prüfen
if (!$error) {
if ($schnittstelle['anfragen_user'] != 0) db_query("INSERT INTO ".$db_prefix."_schnittstelle_anfragen (zeit,uid) VALUES ('".$tag."','0')");
@require_once ("lib/schittstellen/".$schnittstelle['schnittstelle'].".php");
@uservalidate ($schnittstelle['betreiber_id'],$schnittstelle['betreiber_passwort'],$_POST['uid'],$_POST['uid_passwort']);
if ($error) $error = $trans_ausgabe.'<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 (uid,passwort,status,hinweis,kontostand) VALUES ('".$_POST['uid']."','".md5($_POST['passwort_1'])."','0','','0')");
db_query("INSERT INTO ".$db_prefix."_emaildaten (uid,emailadresse,freigabe_fuer) VALUES ('".$_POST['uid']."','".$_POST['emailadresse']."','".$mailstatus."')");
db_query("INSERT INTO ".$db_prefix."_userdaten (uid,nickname,vorname,nachname,angemeldet_seit) VALUES ('".$_POST['uid']."','".$nickname."','".$_POST['vorname']."','".$_POST['nachname']."','".time()."')");
$ws = db_query("SELECT * FROM ".$db_prefix."_werberdaten WHERE uid='".$_POST['uid']."'");
db_query("INSERT INTO ".$db_prefix."_werberdaten (uid,werber,umsatz,zuordnungszeit) VALUES ('".$_POST['uid']."','".$_SESSION['werber']."','0','".time()."')");
$ak = md5($_POST['uid'].''.time());
db_query("INSERT INTO ".$db_prefix."_aktivierungen (uid,ak) VALUES ('".$_POST['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.'
----------------------------------------------------------
Kontonummer: '.$_POST['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");?>
<center><b>Neuanmeldung</b></center>
<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"><b>Klamm Id:</b></td>
<td class="main"><input type="text" name="uid" value="<?=$_POST['uid'];?>"></td>
</tr>
<tr>
<td class="main"><b>Lose-Passwort zur Identifizierung:</b></td>
<td class="main"><input type="password" name="uid_passwort"></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><option value="0" <? if ($_POST['newsletter'] != "1") { echo 'selected';}?>>Nein</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();?>
<? } ?>
Das ist der Inhalt der anmelden.php und ich finde da nirgends mail(), bitte markieren sie es fett.
Original von VMS1
Zeile 96
@mail($_POST['emailadresse'], "$seitenname Accountaktivierung", $email_message, "FROM: $seitenname <$betreibermail>");
WO steht da bitte mail()???
Ojeoje.
Aber ich will mal nicht so sein :D:
@mail($_POST['emailadresse'], "$seitenname Accountaktivierung", $email_message, "FROM: $seitenname <$betreibermail>");
Gruß
Marco
Upps.
Habe immer nach mail() gesucht deshalb nix gefunden. :D :D :D :D
Durch was muss ich das jetzt ersetzen?
das mail durch smtpmail oder?
richtig einfach durch smtpmail() ersetzen^^ :D
Original von Gremlin
Ja einfach vor ?> einfügen. Wegen anmelden.php wenn da nirgendswo die mail Function drin ist lad das original vms runter es ist drin.... ;)
ALs ich es vor ?> eingefügt habe stand es auf der Startseite dann habe ich es danach eingefügt und in der anmelden.php das mail() durch smtpmail() ersetzt.
Habe es auch in aktivierungslink.php geöändert und dann meine Acc auf warten gestellt und den akivierungslink angefordert lleider kommt da:
Ran into problems sending Mail. Response: 550 5.7.0 Sender address does not belong to logged in user {mp032}
Ran into problems sending Mail. Response: 503 5.5.1 MAIL first {mp032}
Ran into problems sending Mail. Response: 503 5.5.1 MAIL first {mp032}
Ran into problems sending Mail. Response: 502 5.5.2 Unimplemented {mp032}
Original von kralle
Original von Gremlin
Ja einfach vor ?> einfügen. Wegen anmelden.php wenn da nirgendswo die mail Function drin ist lad das original vms runter es ist drin.... ;)
ALs ich es vor ?> eingefügt habe stand es auf der Startseite dann habe ich es danach eingefügt und in der anmelden.php das mail() durch smtpmail() ersetzt.
Habe es auch in aktivierungslink.php geöändert und dann meine Acc auf warten gestellt und den akivierungslink angefordert lleider kommt da:
Ran into problems sending Mail. Response: 550 5.7.0 Sender address does not belong to logged in user {mp032}
Ran into problems sending Mail. Response: 503 5.5.1 MAIL first {mp032}
Ran into problems sending Mail. Response: 503 5.5.1 MAIL first {mp032}
Ran into problems sending Mail. Response: 502 5.5.2 Unimplemented {mp032}
Das hängt dann mit dem zusammen:
$server_response = '';
Oder?
Aber was muss da rein?
Läuft nun.
Habe statt .at .net geschrieben.
Danke.
hallo ich habe auf meinem vserver das poblem das er keinerlei mails versendet.
die mail() funktion funktioniert allerdings mit diversen testscripten einwandfrei nur beim VMS 1.2.3 leider nicht.
habe auch schon versucht die smtp funktion von Kilu einzubauen aber irgendwie hab ich da wohl nen kleinen denkfehler...
bekomme nach dieser anleitung hier im post immer die fehler meldung
Fatal error: Call to undefined function smtpmail() in /var/www/virtual/turbo-lose.de/htdocs/lib/extras.lib.php on line 92ich hoffe ihr könnt mir helfen...
wenn ihr genaueres wissen möchtet dann schreibt es mir ;)
gruss
rdtnemo
Laut Deiner Fehlermeldung hat er die smtp funktion nicht eingebaut in der extras.lib.php dementsprechend denke ich hast Du da wohl vergessen das auszutauschen
ja den verdacht hatte ich auch schon allerdings ist mir momentan nicht klar wo ich da was austauschen muss weil laut anleitung hier sollte ich ja die funktion selber in die functions.lib einbauen und in der extras.lib nur das mail() in smtpmail() ändern was ich tat und dadurch kommt die fehlermeldung zustande...
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.