Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
Gostaria de saber se alguem sabe como posso enviar arquivos em anexo por e-mail.
Exemplo:
Tenho um contato. Com esse contato está cadastrado alguns arquivos. Gostaria de fazer algo do tipo: "Clique aqui para enviar um e-mail".
Para enviar o e-mail é facil... o problema é para enviar os anexos com ele...
Estava fazendo da seguinte maneira:
<?php
include ("conexao.php");
$codigo_exportacao = $_GET['codigo_exportacao'];
$busca_informacoes = "SELECT * FROM exportacao WHERE codigo_exportacao='$codigo_exportacao'";
$resultado_busca_informacoes = mysql_query($busca_informacoes,$conexao);
$qtd_resultado_busca_informacoes = mysql_num_rows($resultado_busca_informacoes);
if ($qtd_resultado_busca_informacoes == 0)
{
echo "<script>alert('Arquivo não encontrado!')</script>";
echo "<script>self.location='exportacao.php'</script>";
exit;
}
else
{
$localizar_cliente = mysql_result($resultado_busca_informacoes,0,'cliente_exportacao');
$nref = mysql_result($resultado_busca_informacoes,0,'nref');
//localiza o email cadastrado
$sql_email_cliente = "SELECT * FROM clientes WHERE codigo_cliente='$localizar_cliente'";
$resultado_email_cliente = mysql_query($sql_email_cliente,$conexao);
$qtd_resultado_email_cliente = mysql_num_rows($resultado_email_cliente);
if ($qtd_resultado_email_cliente == 0)
{
echo "<script>alert('Cliente não encontrado!')</script>";
echo "<script>self.location='exportacao.php'</script>";
}
else
{
$email = mysql_result($resultado_email_cliente,0,'email_cliente');
$nome = mysql_result($resultado_email_cliente,0,'nome_cliente');
$mensagem = "teste";
$assunto = "testando email";
$anexos = 0;
$boundary = "XYZ-" . date("dmYis") . "-ZYX";
}
//final da localizacao do email
$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";
//localizar arquivos
$sql_arquivos = "SELECT * FROM clientes WHERE codigo_cliente='$localizar_cliente'";
$resultado_arquivos = mysql_query($sql_arquivos,$conexao);
$qtd_resultado_arquivos = mysql_num_rows($resultado_arquivos);
if ($qtd_resultado_arquivos == 0)
{
echo "<script>alert('Cliente não encontrado!')</script>";
echo "<script>self.location='exportacao.php'</script>";
}
else
{
for($i = 0; $i < $qtd_resultado_arquivos; $i++)
{
$fp = mysql_result($resultado_arquivos,$i,'arquivo');
$anexo = chunk_split(base64_encode(fread($fp, $_FILES["file"]["size"][$i])));
fclose($fp);
$mens .= "Content-Type: ".$_FILES["file"]["type"][$i]."\n name=\"".$_FILES["file"]["name"][$i]."\"\n";
$mens .= "Content-Disposition: attachment; filename=\"".$_FILES["file"]["name"][$i]."\"\n";
$mens .= "Content-transfer-encoding:base64\n\n";
$mens .= $anexo."\n";
if($i + 1 == count($_FILES["file"]["name"]))
$mens.= "--$boundary--";
else
$mens.= "--$boundary\n";
if($_FILES["file"]['error'][$i] == 0)
{
$anexos++;
}
}
$headers = "MIME-Version: 1.0\n";
$headers .= "Date: ".date("D, d M Y H:i:s O")."\n";
$headers .= "From: \"Remetente\" <sfcmauricio@hotmail.com>\r\n";
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";
if(mail($email, $assunto, $mens, $headers))
{
echo "O email foi enviado com sucesso, $anexos anexos";
}
else
{
echo "Nao foi possivel enviar o email";
}
}
//final de localizar os arquivos
}
?>
A parte em vermelho é onde está dando o erro:
Warning: mysql_result() [function.mysql-result]: arquivo not found in MySQL result index 6 in C:\xampp\htdocs\wa\exportacao_enviar_email.php on line 59
Warning: fread(): supplied argument is not a valid stream resource in C:\xampp\htdocs\wa\exportacao_enviar_email.php on line 60
Warning: fclose(): supplied argument is not a valid stream resource in C:\xampp\htdocs\wa\exportacao_enviar_email.php on line 61
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\wa\exportacao_enviar_email.php on line 85
Nao foi possivel enviar o email
Alguem poderia me ajudar???
Agradeço desde já!!!
Carregando comentários...