Ir para conteúdo
Fórum Script Brasil
  • 0

Envio De Email


ashburner

Pergunta

o que tem de errado nesse codigo? ele não envio o email. (sou iniciante em php)

<?
require ("include/global.php");
require ("include/colors.php");

function password(){
	srand((double)microtime()*1000000);
	$numchar=rand(4,6);
	$temp="";
	for($b=0;$b<$numchar;$b++){
  $chrnum=rand(48,109);
  if($chrnum>57){
  	$chrnum+=7;
  }
  if($chrnum>90){
  	$chrnum+=6;
  }
  $temp=$temp.chr($chrnum);
	}
	return $temp;
}

function enviar_mail(){
           ini_set("SMTP","smtp.netuno.com.br");
           $remetente = "learnloop@learnloop.c-f-h.com";
           $destinatario = $email;
           $assunto = "Bem vindo ao LearnLoop";
           $msg = $mailbody;
           mail ($destinatario, $assunto, $msg, $remetente);
}

function mail_account(){
	global $login,$email,$firstname,$surname,$cBGcolor;
  $passwd=password();
  mysql_query("INSERT INTO users (active,login,password,email,firstname,surname) VALUES (1,'".$login."','".$passwd."','".$email."','$firstname','$surname');");
  $id=mysql_insert_id();
  $mailbody = "Hi!\n\nUse this login information:\nUser Name:".$login."\nPassword:".$passwd."\n\nWelcome to LearnLoop!";
  if(mail($email,"Welcome to LearnLoop",$mailbody,"From:LearnLoop@$SERVER_NAME")){
  	?>
  	<html>
  	<head>
  	<link rel="STYLESHEET" type="text/css" href="css.php">
  	</head>
  	<body bgcolor="<?echo $cBGcolor?>">
  	<p>&nbsp;</p>
  	<div class="h3" align="center"><?php echo $GLOBALS["strLoginOk"] ?></div>
  	<p>
  	<div class="main" align="center"><b><?= $GLOBALS["strCheckYourEmail"] ?></b></div>
  	</body>
  	</html>
  	<?
  }else{

  	?>
  	<html>
  	<head>
    <link rel="STYLESHEET" type="text/css" href="css.php">
  	</head>
  	<body bgcolor="<?echo $cBGcolor?>">
  	<p>&nbsp;</p>
  	<div class="h3" align="center"><?= $language["error_sending_mail"] ?>.</div>
  	<p>
  	<div class="main" align="center"><?= $language["valid_email"] ?><a href="mailto:LearnLoop@<?echo $SERVER_NAME?>">LearnLoop@<?echo $SERVER_NAME?></a>.</div>
  	</body>
  	</html>
  	<?
  }
}
if($newuser==""){
	$newuser=0;
}
if((!$login || $login=="") && $newuser!=1){
  // Check if the users is allowed to create a user.
	if($cfgAllowCreateUser){?>
  <html>
  <head>
  <link rel="STYLESHEET" type="text/css" href="css.php">
  <script type="text/javascript" language="JavaScript" src="check_pass.js"></script>
  </head>
  <body bgcolor="<?echo $cBGcolor?>" leftmargin="0" topmargin="0">
  <h1 class="h1">
  	<?= $language["new_login"]; ?>
  	<hr size="1" noshade width="100%">
  </h1>
  <div class="main" align="center">
  <b><?= $language["login_fill_fields"] ?></b>
  <br>
  <form action="create_login.php" method="post" name="create_login" onSubmit="return verify(this);">
  <table>
  	<tr>
    <td class="main" align="right"><b><?= $language["firstname"]; ?>:</b></td>
    <td class="main"><input type="text" name="firstname" class="main"></td>
  	</tr>
  	<tr>
    <td class="main" align="right"><b><?= $language["surname"]; ?>:</b></td>
    <td class="main"><input type="text" name="surname" class="main"></td>
  	</tr>
  	<tr>
    <td class="main" align="right"><b><?= $language["username"]; ?>:</b></td>
    <td class="main"><input type="text" name="login" class="main"></td>
  	</tr>
  	<tr>
    <td class="main" align="right"><b><?= $language["e-mail"]; ?>:</b></td>
    <td class="main"><input type="text" name="email" class="main"></td>
  	</tr>
  	<tr>
    <td class="main" align="center" colspan=2><br><input type="submit" name="subm" value="<?= $language["createLogin"]; ?>" class="main"></td>
  	</tr>
  </table>
  </form>
  </div>
  </body>
  </html>

<?
  }else{
   // Create a an instruction how the user should proceed to get a password.
    // Create the header
  echo '<html><head>';
  echo '<link rel="STYLESHEET" type="text/css" href="css.php">';
  echo '</head>';
  // Create body and text
  echo '<body bgcolor="'.$cBGcolor.'">';
  echo '<p>&nbsp;</p>';
  echo '<div align="center">'.$strAskTheAdminForUser.'.</div>';
  echo '</body>';
  // Create the footer
  echo '</html>';
  }
}else{
	if($newuser!=1){
  $err=0;
  $users=mysql_query("SELECT id from users WHERE login='".$login."';");
  if($check=mysql_fetch_array($users)){
  	$login_exists=1;  // if user exists
  }else{
  	$login_exists=0;
  }
  $check_email=mysql_query("SELECT id FROM users WHERE email='".$email."';");
  if(mysql_num_rows($check_email)!=0){
  	$email_exists=1;
  }else{
  	$email_exists=0;
  }
  if($email_exists==1 || $login_exists==1){
  	?>
  	<html>
  	<head>
    <link rel="STYLESHEET" type="text/css" href="css.php">
    <script type="text/javascript" language="JavaScript" src="check_pass.js"></script>
  	</head>
  	<body>
  	<p>&nbsp;</p>
  	<?if($email_exists==1 && $login_exists==0){?>
  	<div class="h3" align="center"><?= $language["login_exists"]?> </div>
  	<div class="main" align="center"><b><?=$language["select_action"]?>:</b></div>
  	<div align="center"><form><input type="button" value="<?= $language["register_anyway"] ?>" class="menu" onClick="newAccount('<?echo $login?>','<?echo $email?>','<?echo $firstname?>','<?echo $surname?>');"> &nbsp; <input type="button" value="<?= $language["get_old_login"] ?>" class="menu" onClick="getOld('<?echo $email?>');"</form></div>
  	<?}else{?>
  	<div class="h3" align="center"><?= $language["user_exists"] ?></div>
  	<p>
  	<div class="main" align="center"><?= $language["account_creation_fail"] ?></div>
  	<?}?>
  	</body>
  	</html>
  	<?
  }else{
  	mail_account();
  	enviar_mail();
  }

	}else{    	// no existing user with that login and password

  mail_account();
  enviar_mail();

	}

}
?>

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

eu coloquei esse código de teste pra ver se ele envia o e-mail mas mesmo assim não está chegando. ali no socket onde eu informo o user e a senha, pois o servidor requer autenticação.

<?php
$con = fsockopen("smtp.servidor.com.br", 25, $errno, $errstr);
if (!$con) {
    echo "Erro ao conectar em smtp.servidor.com.br\n<br>";
    echo "Número do erro: $errno\n<br>Mensagem: $errstr";
}
else
{
 ini_set("SMTP","smtp.servidor.com.br");
 $remetente = "email@servidor.com.br";
 $destinatario = "email@servidor.com.br";
 $assunto = "Bem vindo ao LearnLoop";
 $msg = "test";
 mail ($destinatario, $assunto, $msg, $remetente);
 echo "E-mail enviado com sucesso!";
}
fclose($con);
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Assim não vai funcionar...

você vai ter que fazer toda a transação em linha de código..... tipo

MAIL FROM nome_do_email
RCPT TO email
DATA

Tudo isso você vai ter que fazer via socket e para poder mandar o e-mail....

Se você quiser se aprofundar no SMTP, procure na NET sobre o RFC821 ( SIMPLE MAIL TRANSFER PROTOCOL)....

Até +

cool.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...