Aos moderadores do forúm, me desculpe se postei em lugar errado ou coisa assim!!!
Boa tarde companheiros, este é o meu primeiro post no forúm e preciso de ajuda.
Sou Iniciate em PHP, na verdade eu apenas tive algumas aulas no curo técnico esse semestre e meu chefe me pediu que fizese um formulário que enviase e-mails á seção de SUPORTE com anexos das mensagem em XML.
Pesquisei bastante como fazer, até encontrar o PHPmailer.
Bom, vamos por partes então, preciso recuperar os dados digitados do formuário, ponto.(funcionando)
preciso gravar os dados digitados em um arquivo na hospedagem, ponto.(funcionando)
preciso ler os dados e fazer a configuração necessária para a classe PHPMailer, ponto(não está funcionando)
O meu erro está nessa condição if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){
o programa não está passando por essa condição, essa condição deve ser verdadeira para poder ler e anexar.
já tirei essa condição para ver o que ocorria, ele cria o anexo, porém vem em branco com 93 B oO
logo preciso passar nessa condição para que o código funcione...
estou postando o código abaixo...
Se alguém puder me ajudar eu ficaria muito grato
meu e-mail é alexandre@softpira.com
PS: Já procurei no google, em vários foruns e meu chefe está me cobrando =/
Pergunta
Alexandre Alves
Aos moderadores do forúm, me desculpe se postei em lugar errado ou coisa assim!!!
Boa tarde companheiros, este é o meu primeiro post no forúm e preciso de ajuda.
Sou Iniciate em PHP, na verdade eu apenas tive algumas aulas no curo técnico esse semestre e meu chefe me pediu que fizese um formulário que enviase e-mails á seção de SUPORTE com anexos das mensagem em XML.
Pesquisei bastante como fazer, até encontrar o PHPmailer.
Bom, vamos por partes então, preciso recuperar os dados digitados do formuário, ponto.(funcionando)
preciso gravar os dados digitados em um arquivo na hospedagem, ponto.(funcionando)
preciso ler os dados e fazer a configuração necessária para a classe PHPMailer, ponto(não está funcionando)
O meu erro está nessa condição if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){
o programa não está passando por essa condição, essa condição deve ser verdadeira para poder ler e anexar.
já tirei essa condição para ver o que ocorria, ele cria o anexo, porém vem em branco com 93 B oO
logo preciso passar nessa condição para que o código funcione...
estou postando o código abaixo...
Se alguém puder me ajudar eu ficaria muito grato
meu e-mail é alexandre@softpira.com
PS: Já procurei no google, em vários foruns e meu chefe está me cobrando =/
FORMULÁRIO DE ENVIO
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<html>
<head>
<title>Fale Conosco</title>
</head>
<body>
<!--<form id=form1" method="post" action="envio.php" ectype="multipart/form-data"> -->
<form id="form1" onsubmit="return checa_formulario(this)" action="envio.php" method="post" enctype="multipart/form-data" name="email">
<table width="500" border="0" cellspacing="2" cellpadding="5">
<tr>
<td>Nome: </td>
<td><input name="nome" type="text" id="nome" /></td>
</tr>
<tr>
<td>Email: </td>
<td><input name="email" type="text" id="email" /></td>
</tr>
<tr>
<td>Mensagem: </td>
<td><textarea name="mensagem" cols="35" rows="10" id="mensagem"></textarea><td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Enviar Mensagem" /></td>
<tr>
</table>
</form>
</body>
</html>
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ENVIO.PHP
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<HTML>
<HEAD>
<TITLE>New Document</TITLE>
</HEAD>
<BODY>
<?php
//pego os dados enviados pelo formulario
$nome = $_POST["nome];
$email = $_POST["email"];
$mensagem = $_POST["mensagem"];
//$assunto = $_POST["assunto"];
$assunto = "SUPORTE";
$email_from = $_POST["alexandre@softpira.com"];
$filename = "anexo.txt";
//$arquivo = "tmp_name";
//formato o campo da mensagem
$mensagem = wordwrap( $mensagem, 50, "<br>", 1);
//valido os emails
//if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email)){
//echo"<center>Digite um email valido</center>";
//echo "<center><a href=\"java script:history.go(-1)\">Voltar</center></a>";
//exit;
//}
//if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email_from)){
//echo "<center>Digite um email valido</center>";
//echo "<center><a href=\"java script:history.go(-1)\"><center>Voltar</center></a>";
//exit;
//}
if (is_writable($filename)) {
// Em nosso exemplo, nós estamos abrindo $filename em modo de append (acréscimo).
// O ponteiro do arquivo estará no final dele desde
// que será aqui que $somecontent será escrito com fwrite().
if (!$handle = fopen($filename, 'wb')) {
print "Erro abrindo arquivo ($filename)";
exit;
}
// Escrevendo $somecontent para o arquivo aberto.
if (!fwrite($handle, $mensagem)) {
print "Erro escrevendo no arquivo ($filename)";
exit;
}
print "Sucesso: escrito ($mensagem) no arquivo ($filename)";
fclose($handle);
} else {
print "The file $filename is not writable";
}
$arquivo = isset($_FILES["anexo"]) ? $_FILES["anexo"] : FALSE;
if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){
$fp = fopen($_FILES["anexo"]["tmp_name"],"rb");
$anexo = fread($fp,filesize($_FILES["anexo"]["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";
$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";
//envio o email com o anexo
mail($email,$assunto,$mens,$headers);
echo"Email enviado com Sucesso com anexo!";
}
//se não tiver anexo
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";
//envia o email sem anexo
mail($email,$assunto,$mensagem, $headers);
echo"Email enviado com Sucesso!";
}
?>
</BODY>
</HTML>
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.