lelolol 1 Postado Janeiro 17, 2011 Share Postado Janeiro 17, 2011 (editado) Oi.... eh o seguinte... quando um player eskece a senha dele ele vai no site e pede uma nova senha, o email vai normal, o problema eh o nome de quem mando o email, em vez de aparece o nome do Server exemplo : From: OtServer To:xxx@gmail.com Msg:xxxxxxxxxxxxxxx aparece assim: From: Root User To:xxx@gmail.com Msg:xxxxxxxxxxxxxxx esse Root User q me incomoda ;x alguem sabe como trocar esse nome pelo nome do serv ? desde ja agradeço Editado Janeiro 17, 2011 por lelolol Link para o comentário https://xtibia.com/forum/topic/149619-resolvido-gesior-enviar-email/ Compartilhar em outros sites More sharing options...
fsg 230 Postado Janeiro 17, 2011 Share Postado Janeiro 17, 2011 Então cara, na pasta "htdocs" tem algum arquivo "php" chamado "lostaccount"? Se tiver, faça o upload aqui que irei ver e arrumar... Link para o comentário https://xtibia.com/forum/topic/149619-resolvido-gesior-enviar-email/#findComment-989432 Compartilhar em outros sites More sharing options...
lelolol 1 Postado Janeiro 17, 2011 Autor Share Postado Janeiro 17, 2011 Então cara, na pasta "htdocs" tem algum arquivo "php" chamado "lostaccount"? Se tiver, faça o upload aqui que irei ver e arrumar... <?PHPif($config['site']['send_emails']) { if($action == '') { $main_content .= 'The Lost Account Interface can help you to get back your account name and password. Please enter your character name and select what you want to do.<BR> <FORM ACTION="?subtopic=lostaccount&action=step1" METHOD=post> <INPUT TYPE=hidden NAME="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Please enter your character name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> <INPUT TYPE=text NAME="nick" VALUE="" SIZE="40"><BR> </TD></TR> </TABLE> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>What do you want?</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> <INPUT TYPE=radio NAME="action_type" VALUE="email"> Send me new password and my account name to account e-mail adress.<BR> <INPUT TYPE=radio NAME="action_type" VALUE="reckey"> I got <b>recovery key</b> and want set new password and e-mail adress to my account.<BR> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'step1' && $_REQUEST['action_type'] == '') $main_content .= 'Please select action. <BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; elseif($action == 'step1' && $_REQUEST['action_type'] == 'email') { $nick = stripslashes($_REQUEST['nick']); if(check_name($nick)) { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { if($account->getCustomField('next_email') < time()) $main_content .= 'Please enter e-mail to account with this character.<BR> <FORM ACTION="?subtopic=lostaccount&action=sendcode" METHOD=post> <INPUT TYPE=hidden NAME="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Please enter e-mail to account</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Character: <INPUT TYPE=text NAME="nick" VALUE="'.$nick.'" SIZE="40" readonly="readonly"><BR> E-mail to account:<INPUT TYPE=text NAME="email" VALUE="" SIZE="40"><BR> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; else { $insec = $account->getCustomField('next_email') - time(); $minutesleft = floor($insec / 60); $secondsleft = $insec - ($minutesleft * 60); $timeleft = $minutesleft.' minutes '.$secondsleft.' seconds'; $main_content .= 'Account of selected character (<b>'.$nick.'</b>) received e-mail in last '.ceil($config['site']['email_lai_sec_interval'] / 60).' minutes. You must wait '.$timeleft.' before you can use Lost Account Interface again.'; } } else $main_content .= 'Player or account of player <b>'.$nick.'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'sendcode') { $email = $_REQUEST['email']; $nick = stripslashes($_REQUEST['nick']); if(check_name($nick)) { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { if($account->getCustomField('next_email') < time()) { if($account->getEMail() == $email) { $acceptedChars = '123456789zxcvbnmasdfghjklqwertyuiop'; $newcode = NULL; for($i=0; $i < 30; $i++) { $cnum[$i] = $acceptedChars{mt_rand(0, 33)}; $newcode .= $cnum[$i]; } $mailBody = '<html> <body> <h3>Your account name and password!</h3> <p>You or someone else requested new password for'.$config['server']['url'].' your account on server <a href=""><b>'.$config['server']['serverName'].'</b></a> with this e-mail.</p> <p>Account name: '.$account->getName().'</p> <p>Password: <i>You will set new password when you press on link.</i></p> <br /> <p>Press on link to set new password. This link will work until next >new password request< in Lost Account Interface.</p> <p><a href="'.$config['server']['url'].'/?subtopic=lostaccount&action=checkcode&code='.$newcode.'&character='.urlencode($nick).'">'.$config['server']['url'].'/?subtopic=lostaccount&action=checkcode&code='.$newcode.'&character='.urlencode($nick).'</a></p> <p>or open page: <i>'.$config['server']['url'].'/?subtopic=lostaccount&action=checkcode</i> and in field "code" write <b>'.$newcode.'</b></p> <br /><p>If you don\'t want to change password to your account just delete this e-mail. <p><u>It\'s automatic e-mail from OTS Lost Account System. Do not reply!</u></p> </body> </html>'; require("phpmailer/class.phpmailer.php"); $mail = new PHPMailer(); if ($config['site']['smtp_enabled'] == "yes") { $mail->IsSMTP(); $mail->Host = $config['site']['smtp_host']; $mail->Port = (int)$config['site']['smtp_port']; $mail->SMTPAuth = ($config['site']['smtp_auth'] ? true : false); $mail->Username = $config['site']['smtp_user']; $mail->Password = $config['site']['smtp_pass']; } else $mail->IsMail(); $mail->IsHTML(true); $mail->From = $config['site']['mail_address']; $mail->AddAddress($account->getCustomField('email')); $mail->Subject = $config['server']['serverName']." - Link to >set new password to account<"; $mail->Body = $mailBody; if($mail->Send()) { $account->setCustomField('email_code', $newcode); $account->setCustomField('next_email', (time() + $config['site']['email_lai_sec_interval'])); $main_content .= '<br />Link with informations needed to set new password has been sent to account e-mail address. You should receive this e-mail in 15 minutes. Please check your inbox/spam directory.'; } else { $account->setCustomField('next_email', (time() + 60)); $main_content .= '<br />An error occorred while sending email! Try again or contact with admin.'; } } else $main_content .= 'Invalid e-mail to account of character <b>'.$nick.'</b>. Try again.'; } else { $insec = $account->getCustomField('next_email') - time(); $minutesleft = floor($insec / 60); $secondsleft = $insec - ($minutesleft * 60); $timeleft = $minutesleft.' minutes '.$secondsleft.' seconds'; $main_content .= 'Account of selected character (<b>'.$nick.'</b>) received e-mail in last '.ceil($config['site']['email_lai_sec_interval'] / 60).' minutes. You must wait '.$timeleft.' before you can use Lost Account Interface again.'; } } else $main_content .= 'Player or account of player <b>'.$nick.'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount&action=step1&action_type=email&nick='.urlencode($nick).'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'step1' && $_REQUEST['action_type'] == 'reckey') { $nick = stripslashes($_REQUEST['nick']); if(check_name($nick)) { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { $account_key = $account->getCustomField('key'); if(!empty($account_key)) { $main_content .= 'If you enter right recovery key you will see form to set new e-mail and password to account. To this e-mail will be send your new password and account name.<BR> <FORM ACTION="?subtopic=lostaccount&action=step2" METHOD=post> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Please enter your recovery key</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Character name: <INPUT TYPE=text NAME="nick" VALUE="'.$nick.'" SIZE="40" readonly="readonly"><BR /> Recovery key: <INPUT TYPE=text NAME="key" VALUE="" SIZE="40"><BR> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $main_content .= 'Account of this character has no recovery key!'; } else $main_content .= 'Player or account of player <b>'.$nick.'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'step2') { $rec_key = trim($_REQUEST['key']); $nick = stripslashes($_REQUEST['nick']); if(check_name($nick)) { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { $account_key = $account->getCustomField('key'); if(!empty($account_key)) { if($account_key == $rec_key) { $main_content .= '<script type="text/javascript"> function validate_required(field,alerttxt) { with (field) { if (value==null||value==""||value==" ") {alert(alerttxt);return false;} else {return true} } } function validate_email(field,alerttxt) { with (field) { apos=value.indexOf("@"); dotpos=value.lastIndexOf("."); if (apos<1||dotpos-apos<2) {alert(alerttxt);return false;} else {return true;} } } function validate_form(thisform) { with (thisform) { if (validate_required(email,"Please enter your e-mail!")==false) {email.focus();return false;} if (validate_email(email,"Invalid e-mail format!")==false) {email.focus();return false;} if (validate_required(passor,"Please enter password!")==false) {passor.focus();return false;} if (validate_required(passor2,"Please repeat password!")==false) {passor2.focus();return false;} if (passor2.value!=passor.value) {alert(\'Repeated password is not equal to password!\');return false;} } } </script>'; $main_content .= 'Set new password and e-mail to your account.<BR> <FORM ACTION="?subtopic=lostaccount&action=step3" onsubmit="return validate_form(this)" METHOD=post> <INPUT TYPE=hidden NAME="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Please enter new password and e-mail</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Account of character: <INPUT TYPE=text NAME="nick" VALUE="'.$nick.'" SIZE="40" readonly="readonly"><BR /> New password: <INPUT id="passor" TYPE=password NAME="passor" VALUE="" SIZE="40"><BR> Repeat new password: <INPUT id="passor2" TYPE=password NAME="passor" VALUE="" SIZE="40"><BR> New e-mail address: <INPUT id="email" TYPE=text NAME="email" VALUE="" SIZE="40"><BR> <INPUT TYPE=hidden NAME="key" VALUE="'.$rec_key.'"> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $main_content .= 'Wrong recovery key!'; } else $main_content .= 'Account of this character has no recovery key!'; } else $main_content .= 'Player or account of player <b>'.$nick.'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount&action=step1&action_type=reckey&nick='.urlencode($nick).'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'step3') { $rec_key = trim($_REQUEST['key']); $nick = stripslashes($_REQUEST['nick']); $new_pass = trim($_REQUEST['passor']); $new_email = trim($_REQUEST['email']); if(check_name($nick)) { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { $account_key = $account->getCustomField('key'); if(!empty($account_key)) { if($account_key == $rec_key) { if(check_password($new_pass)) { if(check_mail($new_email)) { $account->setEMail($new_email); $account->setPassword(password_ency($new_pass)); $account->save(); $main_content .= 'Your account name, new password and new e-mail.<BR> <FORM ACTION="?subtopic=accountmanagement" onsubmit="return validate_form(this)" METHOD=post> <INPUT TYPE=hidden NAME="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Your account name, new password and new e-mail</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Account name: <b>'.$account->getName().'</b><BR> New password: <b>'.$new_pass.'</b><BR> New e-mail address: <b>'.$new_email.'</b><BR>'; if($account->getCustomField('next_email') < time()) { $mailBody = '<html> <body> <h3>Your account name and new password!</h3> <p>Changed password and e-mail to your account in Lost Account Interface on server <a href="'.$config['server']['url'].'"><b>'.$config['server']['serverName'].'</b></a></p> <p>Account name: <b>'.$account->getName().'</b></p> <p>New password: <b>'.$new_pass.'</b></p> <p>E-mail: <b>'.$new_email.'</b> (this e-mail)</p> <br /> <p><u>It\'s automatic e-mail from OTS Lost Account System. Do not reply!</u></p> </body> </html>'; require("phpmailer/class.phpmailer.php"); $mail = new PHPMailer(); if ($config['site']['smtp_enabled'] == "yes") { $mail->IsSMTP(); $mail->Host = $config['site']['smtp_host']; $mail->Port = (int)$config['site']['smtp_port']; $mail->SMTPAuth = ($config['site']['smtp_auth'] ? true : false); $mail->Username = $config['site']['smtp_user']; $mail->Password = $config['site']['smtp_pass']; } else $mail->IsMail(); $mail->IsHTML(true); $mail->From = $config['site']['mail_address']; $mail->AddAddress($account->getCustomField('email')); $mail->Subject = $config['server']['serverName']." - New password to your account"; $mail->Body = $mailBody; if($mail->Send()) { $main_content .= '<br /><small>Sent e-mail with your account name and password to new e-mail. You should receive this e-mail in 15 minutes. You can login now with new password!'; } else { $main_content .= '<br /><small>An error occorred while sending email! You will not receive e-mail with this informations.'; } } else { $main_content .= '<br /><small>You will not receive e-mail with this informations.'; } $main_content .= '<INPUT TYPE=hidden NAME="account_login" VALUE="'.$account->getId().'"> <INPUT TYPE=hidden NAME="password_login" VALUE="'.$new_pass.'"> </TD></TR></TABLE><BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Login" ALT="Login" SRC="'.$layout_name.'/images/buttons/sbutton_login.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $main_content .= 'Wrong e-mail format.'; } else $main_content .= 'Wrong password format. Use only a-Z, A-Z, 0-9'; } else $main_content .= 'Wrong recovery key!'; } else $main_content .= 'Account of this character has no recovery key!'; } else $main_content .= 'Player or account of player <b>'.$nick.'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount&action=step1&action_type=reckey&nick='.urlencode($nick).'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'checkcode') { $code = trim($_REQUEST['code']); $character = stripslashes(trim($_REQUEST['character'])); if(empty($code) || empty($character)) $main_content .= 'Please enter code from e-mail and name of one character from account. Then press Submit.<BR> <FORM ACTION="?subtopic=lostaccount&action=checkcode" METHOD=post> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Code & character name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Your code: <INPUT TYPE=text NAME="code" VALUE="" SIZE="40")><BR /> Character: <INPUT TYPE=text NAME="character" VALUE="" SIZE="40")><BR /> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; else { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($character); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { if($account->getCustomField('email_code') == $code) { $main_content .= '<script type="text/javascript"> function validate_required(field,alerttxt) { with (field) { if (value==null||value==""||value==" ") {alert(alerttxt);return false;} else {return true} } } function validate_form(thisform) { with (thisform) { if (validate_required(passor,"Please enter password!")==false) {passor.focus();return false;} if (validate_required(passor2,"Please repeat password!")==false) {passor2.focus();return false;} if (passor2.value!=passor.value) {alert(\'Repeated password is not equal to password!\');return false;} } } </script> Please enter new password to your account and repeat to make sure you remember password.<BR> <FORM ACTION="?subtopic=lostaccount&action=setnewpassword" onsubmit="return validate_form(this)" METHOD=post> <INPUT TYPE=hidden NAME="character" VALUE="'.$character.'"> <INPUT TYPE=hidden NAME="code" VALUE="'.$code.'"> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Code & account name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> New password: <INPUT TYPE=password ID="passor" NAME="passor" VALUE="" SIZE="40")><BR /> Repeat new password: <INPUT TYPE=password ID="passor2" NAME="passor2" VALUE="" SIZE="40")><BR /> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $error= 'Wrong code to change password.'; } else $error = 'Account of this character or this character doesn\'t exist.'; } if(!empty($error)) $main_content .= '<font color="red"><b>'.$error.'</b></font><br />Please enter code from e-mail and name of one character from account. Then press Submit.<BR> <FORM ACTION="?subtopic=lostaccount&action=checkcode" METHOD=post> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Code & character name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Your code: <INPUT TYPE=text NAME="code" VALUE="" SIZE="40")><BR /> Character: <INPUT TYPE=text NAME="character" VALUE="" SIZE="40")><BR /> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'setnewpassword') { $newpassword = $_REQUEST['passor']; $code = $_REQUEST['code']; $character = stripslashes($_REQUEST['character']); $main_content .= ''; if(empty($code) || empty($character) || empty($newpassword)) $main_content .= '<font color="red"><b>Error. Try again.</b></font><br />Please enter code from e-mail and name of one character from account. Then press Submit.<BR> <BR><FORM ACTION="?subtopic=lostaccount&action=checkcode" METHOD=post> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Back" ALT="Back" SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; else { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($character); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { if($account->getCustomField('email_code') == $code) { if(check_password($newpassword)) { $account->setPassword(password_ency($newpassword)); $account->save(); $account->setCustomField('email_code', ''); $main_content .= 'New password to your account is below. Now you can login.<BR> <INPUT TYPE=hidden NAME="character" VALUE="'.$character.'"> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Changed password</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> New password: <b>'.$newpassword.'</b><BR /> Account name: <i>(Already on your e-mail)</i><BR />'; $mailBody = '<html> <body> <h3>Your account name and password!</h3> <p>Changed password to your account in Lost Account Interface on server <a href="'.$config['server']['url'].'"><b>'.$config['server']['serverName'].'</b></a></p> <p>Account name: <b>'.$account->getName().'</b></p> <p>New password: <b>'.$newpassword.'</b></p> <br /> <p><u>It\'s automatic e-mail from OTS Lost Account System. Do not reply!</u></p> </body> </html>'; require("phpmailer/class.phpmailer.php"); $mail = new PHPMailer(); if ($config['site']['smtp_enabled'] == "yes") { $mail->IsSMTP(); $mail->Host = $config['site']['smtp_host']; $mail->Port = (int)$config['site']['smtp_port']; $mail->SMTPAuth = ($config['site']['smtp_auth'] ? true : false); $mail->Username = $config['site']['smtp_user']; $mail->Password = $config['site']['smtp_pass']; } else $mail->IsMail(); $mail->IsHTML(true); $mail->From = $config['site']['mail_address']; $mail->AddAddress($account->getCustomField('email')); $mail->Subject = $config['server']['serverName']." - New password to your account"; $mail->Body = $mailBody; if($mail->Send()) { $main_content .= '<br /><small>New password work! Sent e-mail with your password and account name. You should receive this e-mail in 15 minutes. You can login now with new password!'; } else { $main_content .= '<br /><small>New password work! An error occorred while sending email! You will not receive e-mail with new password.'; } $main_content .= '</TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <FORM ACTION="?subtopic=accountmanagement" METHOD=post> <INPUT TYPE=image NAME="Login" ALT="Login" SRC="'.$layout_name.'/images/buttons/sbutton_login.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $error= 'Wrong password format. Use only a-z, A-Z, 0-9.'; } else $error= 'Wrong code to change password.'; } else $error = 'Account of this character or this character doesn\'t exist.'; } if(!empty($error)) $main_content .= '<font color="red"><b>'.$error.'</b></font><br />Please enter code from e-mail and name of one character from account. Then press Submit.<BR> <FORM ACTION="?subtopic=lostaccount&action=checkcode" METHOD=post> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Code & character name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Your code: <INPUT TYPE=text NAME="code" VALUE="" SIZE="40")><BR /> Character: <INPUT TYPE=text NAME="character" VALUE="" SIZE="40")><BR /> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } } else $main_content .= '<b>Account maker is not configured to send e-mails, you can\'t use Lost Account Interface. Contact with admin to get help.</b>'; ?> ta ai meu lostaccount.php Link para o comentário https://xtibia.com/forum/topic/149619-resolvido-gesior-enviar-email/#findComment-989451 Compartilhar em outros sites More sharing options...
fsg 230 Postado Janeiro 17, 2011 Share Postado Janeiro 17, 2011 Cara, como que chama o seu servidor? Se possível me informe que irei terminar... Link para o comentário https://xtibia.com/forum/topic/149619-resolvido-gesior-enviar-email/#findComment-989454 Compartilhar em outros sites More sharing options...
lelolol 1 Postado Janeiro 17, 2011 Autor Share Postado Janeiro 17, 2011 O nome eh BragServer Link para o comentário https://xtibia.com/forum/topic/149619-resolvido-gesior-enviar-email/#findComment-989458 Compartilhar em outros sites More sharing options...
fsg 230 Postado Janeiro 17, 2011 Share Postado Janeiro 17, 2011 Então eu fiz não sei se vai funcionar teste e veja se não, não sei o que pode ser! <?PHP if($config['site']['send_emails']) { if($action == '') { $main_content .= 'The Lost Account Interface can help you to get back your account name and password. Please enter your character name and select what you want to do.<BR> <FORM ACTION="?subtopic=lostaccount&action=step1" METHOD=post> <INPUT TYPE=hidden name="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Please enter your character name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> <INPUT TYPE=text name="nick" VALUE="" SIZE="40"><BR> </TD></TR> </TABLE> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>What do you want?</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> <INPUT TYPE=radio name="action_type" VALUE="email"> Send me new password and my account name to account e-mail adress.<BR> <INPUT TYPE=radio name="action_type" VALUE="reckey"> I got <b>recovery key</b> and want set new password and e-mail adress to my account.<BR> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image name="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'step1' && $_REQUEST['action_type'] == '') $main_content .= 'Please select action. <BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" name="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; elseif($action == 'step1' && $_REQUEST['action_type'] == 'email') { $nick = stripslashes($_REQUEST['nick']); if(check_name($nick)) { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { if($account->getCustomField('next_email') < time()) $main_content .= 'Please enter e-mail to account with this character.<BR> <FORM ACTION="?subtopic=lostaccount&action=sendcode" METHOD=post> <INPUT TYPE=hidden name="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Please enter e-mail to account</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Character: <INPUT TYPE=text name="nick" VALUE="'.$nick.'" SIZE="40" readonly="readonly"><BR> E-mail to account:<INPUT TYPE=text name="email" VALUE="" SIZE="40"><BR> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image name="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; else { $insec = $account->getCustomField('next_email') - time(); $minutesleft = floor($insec / 60); $secondsleft = $insec - ($minutesleft * 60); $timeleft = $minutesleft.' minutes '.$secondsleft.' seconds'; $main_content .= 'Account of selected character (<b>'.$nick.'</b>) received e-mail in last '.ceil($config['site']['email_lai_sec_interval'] / 60).' minutes. You must wait '.$timeleft.' before you can use Lost Account Interface again.'; } } else $main_content .= 'Player or account of player <b>'.$nick.'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" name="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'sendcode') { $email = $_REQUEST['email']; $nick = stripslashes($_REQUEST['nick']); if(check_name($nick)) { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { if($account->getCustomField('next_email') < time()) { if($account->getEMail() == $email) { $acceptedChars = '123456789zxcvbnmasdfghjklqwertyuiop'; $newcode = NULL; for($i=0; $i < 30; $i++) { $cnum[$i] = $acceptedChars{mt_rand(0, 33)}; $newcode .= $cnum[$i]; } $mailBody = '<html> <body> <h3>Your account name and password!</h3> <p>You or someone else requested new password for'.$config['server']['url'].' your account on server <a href=""><b>'.$config['server']['serverName'].'</b></a> with this e-mail.</p> <p>Account name: '.$account->getName().'</p> <p>Password: <i>You will set new password when you press on link.</i></p> <br /> <p>Press on link to set new password. This link will work until next >new password request< in Lost Account Interface.</p> <p><a href="'.$config['server']['url'].'/?subtopic=lostaccount&action=checkcode&code='.$newcode.'&character='.urlencode($nick).'">'.$config['server']['url'].'/?subtopic=lostaccount&action=checkcode&code='.$newcode.'&character='.urlencode($nick).'</a></p> <p>or open page: <i>'.$config['server']['url'].'/?subtopic=lostaccount&action=checkcode</i> and in field "code" write <b>'.$newcode.'</b></p> <br /><p>If you don\'t want to change password to your account just delete this e-mail. <p><u>It\'s automatic e-mail from OTS Lost Account System. Do not reply!</u></p> </body> </html>'; require("phpmailer/class.phpmailer.php"); $mail = new PHPMailer(); if ($config['site']['smtp_enabled'] == "yes") { $mail->IsSMTP(); $mail->Host = $config['site']['smtp_host']; $mail->Port = (int)$config['site']['smtp_port']; $mail->SMTPAuth = ($config['site']['smtp_auth'] ? true : false); $mail->Username = $config['site']['smtp_user']; $mail->Password = $config['site']['smtp_pass']; } else $mail->IsMail(); $mail->IsHTML(true); $mail->From = $config['BragServer']['mail_address']; $mail->AddAddress($account->getCustomField('email')); $mail->Subject = $config['server']['serverName']." - Link to >set new password to account<"; $mail->Body = $mailBody; if($mail->Send()) { $account->setCustomField('email_code', $newcode); $account->setCustomField('next_email', (time() + $config['site']['email_lai_sec_interval'])); $main_content .= '<br />Link with informations needed to set new password has been sent to account e-mail address. You should receive this e-mail in 15 minutes. Please check your inbox/spam directory.'; } else { $account->setCustomField('next_email', (time() + 60)); $main_content .= '<br />An error occorred while sending email! Try again or contact with admin.'; } } else $main_content .= 'Invalid e-mail to account of character <b>'.$nick.'</b>. Try again.'; } else { $insec = $account->getCustomField('next_email') - time(); $minutesleft = floor($insec / 60); $secondsleft = $insec - ($minutesleft * 60); $timeleft = $minutesleft.' minutes '.$secondsleft.' seconds'; $main_content .= 'Account of selected character (<b>'.$nick.'</b>) received e-mail in last '.ceil($config['site']['email_lai_sec_interval'] / 60).' minutes. You must wait '.$timeleft.' before you can use Lost Account Interface again.'; } } else $main_content .= 'Player or account of player <b>'.$nick.'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount&action=step1&action_type=email&nick='.urlencode($nick).'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" name="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'step1' && $_REQUEST['action_type'] == 'reckey') { $nick = stripslashes($_REQUEST['nick']); if(check_name($nick)) { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { $account_key = $account->getCustomField('key'); if(!empty($account_key)) { $main_content .= 'If you enter right recovery key you will see form to set new e-mail and password to account. To this e-mail will be send your new password and account name.<BR> <FORM ACTION="?subtopic=lostaccount&action=step2" METHOD=post> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Please enter your recovery key</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Character name: <INPUT TYPE=text name="nick" VALUE="'.$nick.'" SIZE="40" readonly="readonly"><BR /> Recovery key: <INPUT TYPE=text name="key" VALUE="" SIZE="40"><BR> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image name="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $main_content .= 'Account of this character has no recovery key!'; } else $main_content .= 'Player or account of player <b>'.$nick.'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" name="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'step2') { $rec_key = trim($_REQUEST['key']); $nick = stripslashes($_REQUEST['nick']); if(check_name($nick)) { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { $account_key = $account->getCustomField('key'); if(!empty($account_key)) { if($account_key == $rec_key) { $main_content .= '<script type="text/javascript"> function validate_required(field,alerttxt) { with (field) { if (value==null||value==""||value==" ") {alert(alerttxt);return false;} else {return true} } } function validate_email(field,alerttxt) { with (field) { apos=value.indexOf("@"); dotpos=value.lastIndexOf("."); if (apos<1||dotpos-apos<2) {alert(alerttxt);return false;} else {return true;} } } function validate_form(thisform) { with (thisform) { if (validate_required(email,"Please enter your e-mail!")==false) {email.focus();return false;} if (validate_email(email,"Invalid e-mail format!")==false) {email.focus();return false;} if (validate_required(passor,"Please enter password!")==false) {passor.focus();return false;} if (validate_required(passor2,"Please repeat password!")==false) {passor2.focus();return false;} if (passor2.value!=passor.value) {alert(\'Repeated password is not equal to password!\');return false;} } } </script>'; $main_content .= 'Set new password and e-mail to your account.<BR> <FORM ACTION="?subtopic=lostaccount&action=step3" onsubmit="return validate_form(this)" METHOD=post> <INPUT TYPE=hidden name="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Please enter new password and e-mail</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Account of character: <INPUT TYPE=text name="nick" VALUE="'.$nick.'" SIZE="40" readonly="readonly"><BR /> New password: <INPUT id="passor" TYPE=password name="passor" VALUE="" SIZE="40"><BR> Repeat new password: <INPUT id="passor2" TYPE=password name="passor" VALUE="" SIZE="40"><BR> New e-mail address: <INPUT id="email" TYPE=text name="email" VALUE="" SIZE="40"><BR> <INPUT TYPE=hidden name="key" VALUE="'.$rec_key.'"> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image name="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $main_content .= 'Wrong recovery key!'; } else $main_content .= 'Account of this character has no recovery key!'; } else $main_content .= 'Player or account of player <b>'.$nick.'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount&action=step1&action_type=reckey&nick='.urlencode($nick).'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" name="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'step3') { $rec_key = trim($_REQUEST['key']); $nick = stripslashes($_REQUEST['nick']); $new_pass = trim($_REQUEST['passor']); $new_email = trim($_REQUEST['email']); if(check_name($nick)) { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { $account_key = $account->getCustomField('key'); if(!empty($account_key)) { if($account_key == $rec_key) { if(check_password($new_pass)) { if(check_mail($new_email)) { $account->setEMail($new_email); $account->setPassword(password_ency($new_pass)); $account->save(); $main_content .= 'Your account name, new password and new e-mail.<BR> <FORM ACTION="?subtopic=accountmanagement" onsubmit="return validate_form(this)" METHOD=post> <INPUT TYPE=hidden name="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Your account name, new password and new e-mail</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Account name: <b>'.$account->getName().'</b><BR> New password: <b>'.$new_pass.'</b><BR> New e-mail address: <b>'.$new_email.'</b><BR>'; if($account->getCustomField('next_email') < time()) { $mailBody = '<html> <body> <h3>Your account name and new password!</h3> <p>Changed password and e-mail to your account in Lost Account Interface on server <a href="'.$config['server']['url'].'"><b>'.$config['server']['serverName'].'</b></a></p> <p>Account name: <b>'.$account->getName().'</b></p> <p>New password: <b>'.$new_pass.'</b></p> <p>E-mail: <b>'.$new_email.'</b> (this e-mail)</p> <br /> <p><u>It\'s automatic e-mail from OTS Lost Account System. Do not reply!</u></p> </body> </html>'; require("phpmailer/class.phpmailer.php"); $mail = new PHPMailer(); if ($config['site']['smtp_enabled'] == "yes") { $mail->IsSMTP(); $mail->Host = $config['site']['smtp_host']; $mail->Port = (int)$config['site']['smtp_port']; $mail->SMTPAuth = ($config['site']['smtp_auth'] ? true : false); $mail->Username = $config['site']['smtp_user']; $mail->Password = $config['site']['smtp_pass']; } else $mail->IsMail(); $mail->IsHTML(true); $mail->From = $config['site']['mail_address']; $mail->AddAddress($account->getCustomField('email')); $mail->Subject = $config['server']['serverName']." - New password to your account"; $mail->Body = $mailBody; if($mail->Send()) { $main_content .= '<br /><small>Sent e-mail with your account name and password to new e-mail. You should receive this e-mail in 15 minutes. You can login now with new password!'; } else { $main_content .= '<br /><small>An error occorred while sending email! You will not receive e-mail with this informations.'; } } else { $main_content .= '<br /><small>You will not receive e-mail with this informations.'; } $main_content .= '<INPUT TYPE=hidden name="account_login" VALUE="'.$account->getId().'"> <INPUT TYPE=hidden name="password_login" VALUE="'.$new_pass.'"> </TD></TR></TABLE><BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image name="Login" ALT="Login" SRC="'.$layout_name.'/images/buttons/sbutton_login.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $main_content .= 'Wrong e-mail format.'; } else $main_content .= 'Wrong password format. Use only a-Z, A-Z, 0-9'; } else $main_content .= 'Wrong recovery key!'; } else $main_content .= 'Account of this character has no recovery key!'; } else $main_content .= 'Player or account of player <b>'.$nick.'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount&action=step1&action_type=reckey&nick='.urlencode($nick).'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" name="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'checkcode') { $code = trim($_REQUEST['code']); $character = stripslashes(trim($_REQUEST['character'])); if(empty($code) || empty($character)) $main_content .= 'Please enter code from e-mail and name of one character from account. Then press Submit.<BR> <FORM ACTION="?subtopic=lostaccount&action=checkcode" METHOD=post> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Code & character name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Your code: <INPUT TYPE=text name="code" VALUE="" SIZE="40")><BR /> Character: <INPUT TYPE=text name="character" VALUE="" SIZE="40")><BR /> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image name="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; else { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($character); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { if($account->getCustomField('email_code') == $code) { $main_content .= '<script type="text/javascript"> function validate_required(field,alerttxt) { with (field) { if (value==null||value==""||value==" ") {alert(alerttxt);return false;} else {return true} } } function validate_form(thisform) { with (thisform) { if (validate_required(passor,"Please enter password!")==false) {passor.focus();return false;} if (validate_required(passor2,"Please repeat password!")==false) {passor2.focus();return false;} if (passor2.value!=passor.value) {alert(\'Repeated password is not equal to password!\');return false;} } } </script> Please enter new password to your account and repeat to make sure you remember password.<BR> <FORM ACTION="?subtopic=lostaccount&action=setnewpassword" onsubmit="return validate_form(this)" METHOD=post> <INPUT TYPE=hidden name="character" VALUE="'.$character.'"> <INPUT TYPE=hidden name="code" VALUE="'.$code.'"> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Code & account name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> New password: <INPUT TYPE=password ID="passor" name="passor" VALUE="" SIZE="40")><BR /> Repeat new password: <INPUT TYPE=password ID="passor2" name="passor2" VALUE="" SIZE="40")><BR /> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image name="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $error= 'Wrong code to change password.'; } else $error = 'Account of this character or this character doesn\'t exist.'; } if(!empty($error)) $main_content .= '<font color="red"><b>'.$error.'</b></font><br />Please enter code from e-mail and name of one character from account. Then press Submit.<BR> <FORM ACTION="?subtopic=lostaccount&action=checkcode" METHOD=post> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Code & character name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Your code: <INPUT TYPE=text name="code" VALUE="" SIZE="40")><BR /> Character: <INPUT TYPE=text name="character" VALUE="" SIZE="40")><BR /> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image name="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'setnewpassword') { $newpassword = $_REQUEST['passor']; $code = $_REQUEST['code']; $character = stripslashes($_REQUEST['character']); $main_content .= ''; if(empty($code) || empty($character) || empty($newpassword)) $main_content .= '<font color="red"><b>Error. Try again.</b></font><br />Please enter code from e-mail and name of one character from account. Then press Submit.<BR> <BR><FORM ACTION="?subtopic=lostaccount&action=checkcode" METHOD=post> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image name="Back" ALT="Back" SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; else { $player = new OTS_Player(); $account = new OTS_Account(); $player->find($character); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { if($account->getCustomField('email_code') == $code) { if(check_password($newpassword)) { $account->setPassword(password_ency($newpassword)); $account->save(); $account->setCustomField('email_code', ''); $main_content .= 'New password to your account is below. Now you can login.<BR> <INPUT TYPE=hidden name="character" VALUE="'.$character.'"> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Changed password</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> New password: <b>'.$newpassword.'</b><BR /> Account name: <i>(Already on your e-mail)</i><BR />'; $mailBody = '<html> <body> <h3>Your account name and password!</h3> <p>Changed password to your account in Lost Account Interface on server <a href="'.$config['server']['url'].'"><b>'.$config['server']['serverName'].'</b></a></p> <p>Account name: <b>'.$account->getName().'</b></p> <p>New password: <b>'.$newpassword.'</b></p> <br /> <p><u>It\'s automatic e-mail from OTS Lost Account System. Do not reply!</u></p> </body> </html>'; require("phpmailer/class.phpmailer.php"); $mail = new PHPMailer(); if ($config['site']['smtp_enabled'] == "yes") { $mail->IsSMTP(); $mail->Host = $config['site']['smtp_host']; $mail->Port = (int)$config['site']['smtp_port']; $mail->SMTPAuth = ($config['site']['smtp_auth'] ? true : false); $mail->Username = $config['site']['smtp_user']; $mail->Password = $config['site']['smtp_pass']; } else $mail->IsMail(); $mail->IsHTML(true); $mail->From = $config['site']['mail_address']; $mail->AddAddress($account->getCustomField('email')); $mail->Subject = $config['server']['serverName']." - New password to your account"; $mail->Body = $mailBody; if($mail->Send()) { $main_content .= '<br /><small>New password work! Sent e-mail with your password and account name. You should receive this e-mail in 15 minutes. You can login now with new password!'; } else { $main_content .= '<br /><small>New password work! An error occorred while sending email! You will not receive e-mail with new password.'; } $main_content .= '</TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <FORM ACTION="?subtopic=accountmanagement" METHOD=post> <INPUT TYPE=image name="Login" ALT="Login" SRC="'.$layout_name.'/images/buttons/sbutton_login.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $error= 'Wrong password format. Use only a-z, A-Z, 0-9.'; } else $error= 'Wrong code to change password.'; } else $error = 'Account of this character or this character doesn\'t exist.'; } if(!empty($error)) $main_content .= '<font color="red"><b>'.$error.'</b></font><br />Please enter code from e-mail and name of one character from account. Then press Submit.<BR> <FORM ACTION="?subtopic=lostaccount&action=checkcode" METHOD=post> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Code & character name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Your code: <INPUT TYPE=text name="code" VALUE="" SIZE="40")><BR /> Character: <INPUT TYPE=text name="character" VALUE="" SIZE="40")><BR /> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image name="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } } else $main_content .= '<b>Account maker is not configured to send e-mails, you can\'t use Lost Account Interface. Contact with admin to get help.</b>'; ?> Link para o comentário https://xtibia.com/forum/topic/149619-resolvido-gesior-enviar-email/#findComment-989461 Compartilhar em outros sites More sharing options...
lelolol 1 Postado Janeiro 17, 2011 Autor Share Postado Janeiro 17, 2011 Aew kra brigadao + achei o erro aki tava na pasta htdocs\phpmailer\class.phpmailer.php < la eu achei o Root User dando Ctrl + F ai soh troquei + brigadao assim mesmo ! pode dexa amanha te mando REP+ (hj nem da ) PODE FECHA O TOPICO Link para o comentário https://xtibia.com/forum/topic/149619-resolvido-gesior-enviar-email/#findComment-989465 Compartilhar em outros sites More sharing options...
DaNDaNrOxX 15 Postado Janeiro 17, 2011 Share Postado Janeiro 17, 2011 Dúvida sanada, Tópico Fechado Link para o comentário https://xtibia.com/forum/topic/149619-resolvido-gesior-enviar-email/#findComment-989469 Compartilhar em outros sites More sharing options...
Posts Recomendados