Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

David Figueiredo

[Resolvido] email com anexo

Recommended Posts

bom dia gente!

 

é o seguinte, estou criando um script para mandar um e-mail com um arquivo anexado mais ñ estou conseguindo! segue abaixo meu código pra vcs analizarem:

 

set_time_limit(600);
//pego os dados enviados pelo formulario
		$nome		 = $_POST['nome'];
		$cargo		= $_POST['cargo'];
		$endereco	 = $_POST['endereco'];
		$numero	   = $_POST['numero'];
		$bairro	   = $_POST['bairro'];
		$cidade	   = $_POST['cidade'];
		$uf		   = $_POST['uf'];
		$nascimento   = $_POST['nascimento'];
		$estado_civil = $_POST['estado_civil'];
		$sexo		 = $_POST['sexo'];
		$tel_pre	  = $_POST['tel_pre'];
		$tel_sul	  = $_POST['tel_sul'];
		$tel		  = $tel_pre.'-'.$tel_sul;
		$email		= $_POST['email'];
		$escolaridade = $_POST['escolaridade'];
		$instituicao  = $_POST['instituicao'];
		$primeira_exp = $_POST['primeira_exp'];
		$segunda_exp  = $_POST['segunda_exp'];
		$terceira_exp = $_POST['terceira_exp'];
		$vendas	   = $_POST['vendas'];
		$informatica  = $_POST['informatica'];
		$outros	   = $_POST['outros'];
		$adicionais   = $_POST['adicionais'];


$mensagem   = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
			  <html xmlns="http://www.w3.org/1999/xhtml">
			  <head>
			  </head>
			  <body>
				<h3 align="center"><b>Trabalhe Conosco</b></h3>
				<hr align="center"/><br>
				<b>DADOS PESSOAIS</b><br>
				<hr align="center"/><br>
				<b>Nome:</b> '.$nome.'<br>
				<b>Sexo:</b> '.$sexo.'<br>
				<b>Nascimento:</b> '.$nascimento.'<br>
				<b>Estado Civil:</b> '.$estado_civil.'<br>
				<br><b>ENDERECO</b><br>
				<hr align="center"/><br>
				'.$endereco.', '.$numero.', '.$bairro.'<br>
				'.$cidade.'-'.$uf.'<br>
				<b>Telefone:</b> '.$tel.' <b>E-mail:</b> '.$email.'<br>
				<b>Escolaridade:</b> '.$escolaridade.' <b>Instituicao de Ensino:</b> '.$instituicao.'<br>
				<br><b>EXPERIENCIA PROFISSIONAL E/OU DE ESTAGIO </b><br>
				<hr align="center"/><br>
				<b>Cargo:</b> '.$cargo.'<br>
				'.$primeira_exp.'<br>'.$segunda_exp.'<br>'.$terceira_exp.'<br>
				<br><b>CURSOS</b><br>
				<hr align="center"/><br>
				<b>Vendas:</b> '.$vendas.'<br>
				<b>Informatica:</b> '.$informatica.'<br>
				<b>Outros:</b> '.$outros.'<br>
				<br><b>INFORMACOES ADICIONAIS:</b><br>
				<hr align="center"/><br>
				'.$adicionais.'<br>
				</body>
				</html>';

			$remetente = $email;
			$destinatario = 'davidmkt@gmail.com';
			$assunto = 'Trabalhe Conosco';
			$email_from = $destinatario;

 $ip = "$REMOTE_ADDR";

 $mensagem = "$mensagem  \n Rementente: $ip";

//valido os emails


$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;

if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){

	$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");
	$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));
	$anexo = base64_encode($anexo);

fclose($fp);

$anexo = chunk_split($anexo);


$boundary = "XYZ-" . date("dmYis") . "-ZYX";

	$mens = "--$boundary\n";
	$mens .= "Content-Transfer-Encoding: 8bits\n";
	$mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; //plain
	$mens .= "$mensagem\n";
	$mens .= "--$boundary\n";
	$mens .= "Content-Type: ".$arquivo["type"]."\n";
	$mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n";
	$mens .= "Content-Transfer-Encoding: base64\n\n";
	$mens .= "$anexo\n";
	$mens .= "--$boundary--\r\n";

$headers  = "MIME-Version: 1.0\n";
$headers .= "From: \"$nome\" <$email_from>\r\n";
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";
$headers .= "$boundary\n";

mail($remetente,$assunto,$mens,$headers);

echo $mens;
	echo '<script>
window.alert("Seu curriculo foi enviado com sucesso!");

</script>';

}

else{

 $headers  = "MIME-Version: 1.0\r\n";
 $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
 $headers .= "From: \"$nome\" <$email_from>\r\n";

mail($remetente,$assunto,$mensagem, $headers);

	echo '<script>
window.alert("Seu curriculo foi enviado com sucesso!");
window.location.href="index.php"
</script>';

}

o erro mostrado é o seguinte:

 

Warning: mail() [function.mail]: SMTP server response: 550 Requested action not taken: mailbox unavailable or not local in C:\Inetpub\vhosts\claudi-moveis.com.br\httpdocs\processos.php on line 80

 

eu tenho um script mais simples que foi da onde eu criei esse acima que esta funcionando normal, mais ja comparei varias vezes e ñ consigo encontrar nada que possa esta causando este erro! segue ele tambem abaixo:

 

set_time_limit(600);
//pego os dados enviados pelo formulario
$nome	   = $_POST["nome"];
$email	  = $_POST["email"];
$mensagem   = $_POST["mensagem"];
$assunto	= $_POST["assunto"];
$email_from = $_POST["email_from"];


 $ip = "$REMOTE_ADDR";

 $email = "davidmkt@gmail.com";
 $email_from = "davidmkt@oi.com.br";
 
if ($assunto == "") { $assunto = "Arquivo Importante!";};
if ($mensagem == "") { $mensagem = "Nenhuma mensagem foi digitada!";};
if ($nome == "") { $nome = "Sem nome!";};


$mensagem = "$mensagem  \n Rementente: $ip";
//formato o campo da mensagem
$mensagem   = wordwrap( $mensagem, 50, "<br>", 1);

//valido os emails



$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;

if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){

	$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");
	$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));		   
	$anexo = base64_encode($anexo); 

fclose($fp);
	
$anexo = chunk_split($anexo); 


$boundary = "XYZ-" . date("dmYis") . "-ZYX"; 

	$mens = "--$boundary\n";
	$mens .= "Content-Transfer-Encoding: 8bits\n";
	$mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; //plain
	$mens .= "$mensagem\n";
	$mens .= "--$boundary\n";
	$mens .= "Content-Type: ".$arquivo["type"]."\n"; 
	$mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n"; 
	$mens .= "Content-Transfer-Encoding: base64\n\n"; 
	$mens .= "$anexo\n"; 
	$mens .= "--$boundary--\r\n"; 

$headers  = "MIME-Version: 1.0\n"; 
$headers .= "From: \"$nome\" <$email_from>\r\n"; 
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; 
$headers .= "$boundary\n";
		  
mail($email,$assunto,$mens,$headers); 
	
	echo"<HTML><HEAD><TITLE>Tenha um bom dia!</TITLE></HEAD><BODY>Tenha um bom dia!</BODY></HTML>";

}

else{
	
 $headers  = "MIME-Version: 1.0\r\n";
 $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
 $headers .= "From: \"$nome\" <$email_from>\r\n";
 
mail($email,$assunto,$mensagem, $headers);

	echo"<HTML><HEAD><TITLE>Tenha um bom dia!</TITLE></HEAD><BODY>Tenha um bom dia!</BODY></HTML>";

}

aguardo o retorno de vocês, desde já obg!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá andré!!

Graças a Deus ja consegui resolver o meu problema!

 

mais ja que você falou sobre o PHPMailer, você teria algum link pra me indicar que tenha um tutoria sobre essa classe? pq eu baixei ela mais ñ consegui compreender muito bem principlamente tambem pq é OO e eu ainda to engatiando nisso!!

 

se tiver por favor, posta ai beleza!?

 

valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usando o Phpmailer..

 

http://www.vivaolinux.com.br/topico/PHP/Em...lasse-phpmailer

 

e se você precisar anexar arquivos segue o código..

<?php ini_set('include_path','.:./phpmailer/'); // Diz que o código está na pasta raiz /phpmailer/

require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP(); // evia por SMTP
$mail->Host = "smtp1.site.com;smtp2.site.com"; // SMTP servers
$mail->SMTPAuth = true; // Caso o servidor SMTP precise de autenticação
$mail->Username = "voce@seuprovedor.com.br"; // SMTP username
$mail->Password = "senha"; // SMTP password

$mail->From = "from@email.com"; // From
$mail->FromName = "Mailer"; // Nome de quem envia o email
$mail->AddAddress("josh@site.com","Josh Adams"); // Email e nome de quem receberá
$mail->AddReplyTo("info@site.com","Information"); //Responder
$mail->AddCC("info@site.com";"Nome"); //Com cópia
$mail->AddBCC("info@site.com";"Nome"); //Com cópia oculta

$mail->WordWrap = 50; // Definir quebra de linha
$mail->AddAttachment("/var/tmp/file.tar.gz"); // Anexo
$mail->AddAttachment("/tmp/image. jpg", "new.jpg"); // Anexo 2
$mail->IsHTML(true); // Enviar como HTML

$mail->Subject = "Here is the subject"; // Assunto
$mail->Body = "This is the <b>HTML body</b>"; //Corpo da mensagem caso seja HTML
$mail->AltBody = "This is the text-only body"; //PlainText, para caso quem receber o email não aceite o corpo HTML

if(!$mail->Send()) // Envia o email
{
echo "Message was not sent <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}

echo "Message has been sent";

?>

Duvidas consultar nosso amigo google..

 

http://www.google.com.br/search?hl=pt-BR&a...uisar&meta=

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.