Ir para conteúdo

Arquivado

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

imultimidia

Envio de email com vários anexos com phpmailer

Recommended Posts

Boa noite pessoal, estou sem saber fazer uma alteração e preciso da ajuda de vocês, de ante mão já agradeço.

Tenho um script que envia o e-mail com 1 anexo normalmente com o phpmailer usando:

<input type="file" name="arquivo" class="upload" >

Porém, preciso enviar 4 anexos (fotos) e não estou conseguindo modificar este código para aceitar os arquivos enviados pelo formulário usando:

<input type="file" name="arquivo[]" class="upload" >

<input type="file" name="arquivo[]" class="upload" >

<input type="file" name="arquivo[]" class="upload" >

<input type="file" name="arquivo[]" class="upload" >

Segue o código:

<?php
 
// Chama a classe PHPMailer (pode baixar ela aqui: http://phpmailer.sourceforge.net)
require_once('phpmailer/class.phpmailer.php');
 
// Instancia o objeto $mail a partir da Classe PHPMailer
$mail = new PHPMailer();
 
// Recupera os dados do formulário
$nome        = $_POST['nome'];
$email         = $_POST['email'];
$idade        = $_POST['idade'];
$altura     = $_POST['altura'];
$cidade        = $_POST['cidade'];
$estado     = $_POST['estado'];
$fone          = $_POST['fone'];
$mensagem   = $_POST['mensagem'];
$arquivo       = $_FILES["arquivo"];

$tamanho = 1048576;
$tipos   = array('image/jpeg', 'image/pjpeg');

                  
 
// Recupera o nome do arquivo
$arquivo_nome = $arquivo['name'];
 
// Recupera o caminho temporario do arquivo no servidor
$arquivo_caminho = $arquivo['tmp_name'];
 
// Monta a mensagem que será enviada
$corpo = "
        <strong>Nome:</strong> $nome<br />
        <strong>E-mail:</strong> $email<br />
        <strong>Idade:</strong> $idade<br />
        <strong>Altura:</strong> $altura<br />    
        <strong>Cidade:</strong> $cidade<br />    
        <strong>Estado:</strong> $estado<br />
        <strong>Fone:</strong> $fone<br />
        <strong>Mensagem:</strong><br />
        $mensagem
    ";
$corpoSimples = "
        Nome: $nome\n
        E-mail: $email\n
        Idade: $idade\n
        Altura: $altura\n
        Cidade: $cidade\n
        Estado: $estado\n
        Fone: $fone\n
        Mensagem:\n
        $Mensagem
    ";
 
// Informo o Host, From, subject e para quem o e-mail será enviado
$mail->Host = "mail.xxxx.com.br";
$mail->From = ($email);
$mail->Subject = "Modelo - ($nome)";
$mail->AddAddress(xxx@xxx.com.br');
 
// Informa que a mensagem deve ser enviada em HTML
$mail->IsHTML(true);
 
// Informa o corpo da mensagem
$mail->Body = $corpo;
 
// Se o e-mail destino não suportar HTML ele envia o texto simples
$mail->AltBody = $corpoSimples;
 
// Anexa o arquivo
$mail->AddAttachment($arquivo_caminho, $arquivo_nome);


// Tenta enviar o e-mail e analisa o resultado
if(!is_uploaded_file($arquivo['tmp_name'])){
        echo "
            <html>
            <script>alert(\"A imagem é obrigatória\")</script>
            <meta http-equiv=refresh content=0;URL=ser-modelo.php></html>
            ";
}elseif($arquivo['size'] > $tamanho){
        echo "
            <html>
            <script>alert(\"Só é permitido apenas imagens com tamanho máximo de 1mega\")</script>
            <meta http-equiv=refresh content=0;URL=ser-modelo.php></html>
            ";
}elseif(!in_array($arquivo['type'], $tipos)){
        echo "
            <html>
            <script>alert(\"Só é permitido apenas imagens no formato JPEG\")</script>
            <meta http-equiv=refresh content=0;URL=ser-modelo.php></html>
            ";
}

elseif($mail->Send()) {
    echo "
            <html>
            <script>alert(\"$nome, sua homenagem foi enviada com sucesso!\")</script>
            <meta http-equiv=refresh content=0;URL=ser-modelo.php></html>
            ";
}


else {
    echo 'Erro:' . $mail->ErrorInfo;
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tutorial

http://www.devmedia.com.br/enviando-e-mail-com-anexos-usando-o-phpmailer/12113


Que é basicamente isso

$mail->AddAttachment("imagem/imagem1.png");
$mail->AddAttachment("imagem/imagem2.jpg");
$mail->AddAttachment("imagem/imagem3.gif");

Também tem o exemplo na própria documentação.

https://github.com/PHPMailer/PHPMailer/blob/master/examples/send_multiple_file_upload.phps

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Williams Duarte!

O exemplo do tutorial não funfou, envia tudo, diz que foi com sucesso mas não envia os arquivos.

O da documentação funcionou perfeitamente, valeu mesmo pela dica!

Queria validar a extensão e tamanho do arquivo, mas não to conseguindo, podes me ajudar?

<?php
/**
 * PHPMailer multiple files upload and send example
 */
$msg = '';
if (array_key_exists('arquivo', $_FILES)) {
    // Create a message
    // This should be somewhere in your include_path
    require 'phpmailer/PHPMailerAutoload.php';
	require_once('phpmailer/class.phpmailer.php');
	
    $mail = new PHPMailer;
	
	// Recupera os dados do formulário
	$genero		= $_POST['genero'];
	$nome		= $_POST['nome'];
	$email     	= $_POST['email'];
	$idade    	= $_POST['idade'];
	$altura     = $_POST['altura'];
	$cidade    	= $_POST['cidade'];
	$estado     = $_POST['estado'];
	$fone      	= $_POST['fone'];
	$mensagem   = $_POST['mensagem'];
	$arquivo   	= $_FILES["arquivo"];
	
	
	// Monta a mensagem que será enviada
	$corpo = "
		<strong>Genero:</strong> $genero<br />
                <strong>Nome:</strong> $nome<br />
	        <strong>E-mail:</strong> $email<br />
		<strong>Idade:</strong> $idade<br />
		<strong>Altura:</strong> $altura<br />	
		<strong>Cidade:</strong> $cidade<br />	
		<strong>Estado:</strong> $estado<br />
		<strong>Fone:</strong> $fone<br />
	       <strong>Mensagem:</strong><br />
	       $mensagem
	";

    
	$mail->Host = "mail.xxxxx.com.br";
	$mail->setFrom($email, $nome);
	$mail->Subject = "Modelo - ($nome)";
	$mail->AddAddress('modelos@xxxx.com.br');
    $mail->msgHTML($corpo);
	
	
	
    //Attach multiple files one by one
    for ($ct = 0; $ct < count($_FILES['arquivo']['tmp_name']); $ct++) 
	{
		
        $uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['arquivo']['name'][$ct]));
        $filename = $_FILES['arquivo']['name'][$ct];
		
        if (move_uploaded_file($_FILES['arquivo']['tmp_name'][$ct], $uploadfile)) 
		{
            $mail->addAttachment($uploadfile, $filename);
        } 
		
		else 
		{
            $msg .= 'Failed to move file to ' . $uploadfile;
        }
    }
	
    if (!$mail->send()) {
		
		echo "
			<html>
            <script>alert(\"$nome, Seu e-mail não foi enviado corretamente, tende novamente mais tarde.\")</script>
			<meta http-equiv=refresh content=0;URL=ser-modelo.php>
			</html>
			";
        
    } else {
		
		echo "
			<html>
            <script>alert(\"$nome, seus dados foram enviados com sucesso, em breve entraremos em contato\")</script>
			<meta http-equiv=refresh content=0;URL=ser-modelo.php>
			</html>
			";
    }
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com a classe SplFileInfo você verifica a extensão

e com com finfo faz a validação mais profunda já que é pelo tmp_name, dessa Não tem como burlar o MIME da imagem

e o tamanho é pelo size.

só da um print_r($_FILES['arquivo']) vai te mostrar todos os dados para uma validação completa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais uma vez obrigado Willians,

Mas confesso meu pouco entendimento, com isso não consegui validar a extensão e tamanho neste scripts, tentei de várias formas.

Gostaria se possível você ou outro fera, fizesse as alterações nele para inclusive servir didaticamente para os iniciante como eu.

Valeu de novo!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por fmcmf
      Boa tarde...
      Tenho um formulário no site e o envio é usando o PHPMailer... o email está chegando no destino.... mas o conteúdo inserido nos campos não chega.
       
      Segue o código do formulário em html:
       
      <div id="banner"> <img class="fotobanner" src="img/comprar.png" alt=""> </div> <div class="formulario"> <h3 align="center"> PREENCHA OS DADOS ABAIXO PARA CONTRATAR: </h3> <form action=”envia.php” method=”post” id=”contato”> <div class="form-group"> <label for="exampleFormControlInput1">Nome completo:</label> <input type="nome" class="form-control" id="nome" placeholder="Nome" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">CPF:</label> <input type="cpf" class="form-control" id="cpfcli" placeholder="CPF" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero:</label> <select class="form-control" id="generocli" required> <option>Feminino</option> <option>Masculino</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">Data de Nascimento (dia/mês/ano):</label> <input type="" class="form-control" id="nasccli" placeholder="Data de nascimento (dia/mês/ano)" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Estado Civil:</label> <select class="form-control" id="ecivilcli" required> <option>Casado(a)</option> <option>Solteiro(a)</option> <option>Divorciado(a)</option> <option>Viúvo(a)</option> </select> </div> <div class="form-group"> <label for="exampleFormControlTextarea1">Endereço Completo + CEP:</label> <textarea class="form-control" id="endcli" rows="3" required></textarea> </div> <div class="form-group"> <label for="exampleFormControlInput1">Celular com DDD:</label> <input type="" class="form-control" id="celcli" placeholder="Celular com DDD" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">E-mail:</label> <input type="" class="form-control" id="emailcli" placeholder="E-mail" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PLANO Desejado:</label> <select class="form-control" id="plano" required> <option>SELECT</option> <option>PLUS</option> <option>TOP</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">NOME do PET:</label> <input type="" class="form-control" id="nomedopet" placeholder="NOME do PET" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">IDADE do PET:</label> <input type="" class="form-control" id="idadedopet" placeholder="IDADE do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Tipo do PET:</label> <select class="form-control" id="tipodopet" required> <option>GATO</option> <option>CACHORRO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero do PET:</label> <select class="form-control" id="generodopet" required> <option>FÊMEA</option> <option>MACHO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">RAÇA do PET:</label> <input type="" class="form-control" id="racadopet" placeholder="RAÇA do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PORTE do PET:</label> <select class="form-control" id="portedopet" required> <option>Pequeno</option> <option>Médio</option> <option>Grande</option> </select> </div> <div class="dobotao"> <button type="submit" class="botao"> <strong>ENVIAR DADOS </strong> </button></div> </form></div> Segue o código do enviar.php
       
      <?php require 'PHPMailerAutoload.php'; require 'class.phpmailer.php'; $mailer = new PHPMailer; //$mailer->SMTPDebug = 2; // Enable verbose debug output $mailer->isSMTP(); // Set mailer to use SMTP $mailer->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) ); if($_GET['acao'] = 'enviar'){ $nome = $_POST['nome']; $cpfcli = $_POST['cpfcli']; $generocli = $_POST['generocli']; $nasccli = $_POST['nasccli']; $ecivilcli = $_POST['ecivilcli']; $celcli = $_POST['celcli']; $plano = $_POST['plano']; $nomedopet = $_POST['nomedopet']; $tipodopet = $_POST['tipodopet']; $generodopet = $_POST['generodopet']; $racadopet = $_POST['racadopet']; $portedopet = $_POST['portedopet']; $mailer->Host = 'pleskl0040.hospedagemdesites.ws'; $mailer->SMTPAuth = true; // Enable SMTP authentication $mailer->IsSMTP(); $mailer->isHTML(true); // Set email format to HTML $mailer->Port = 587; // Ativar condição utf-8, para acentuação $mailer->CharSet = 'UTF-8'; $mailer->Username = 'formulario@thna.com.br'; // SMTP username $mailer->Password = '@Nathi1010'; // SMTP password // email do destinatario $address = "formulario@thna.com.br"; //$mailer->SMTPDebug = 1; $corpoMSG = "nome: $nome <br> cpf: $cpfcli <br> genero: $generocli <br> nascimento: $nasccli <br> estado: $ecivilcli <br> celular: $cel <br> plano: $plano <br> pet: $nomedopet <br> tipo: $tipodopet generopet $generodopet <br> racapet: $racadopet <br> porte: $portedopet"; $mailer->AddAddress($address, "destinatario"); $mailer->AddAddress("formulario@thna.com.br", "destinatario 2"); // 2º destinatário se querer enviar, se não, comente com // $mailer->From = 'formulario@thna.com.br'; $mailer->Sender = 'formulario@thna.com.br'; $mailer->FromName = "Site Saúde PET"; // Seu nome // assunto da mensagem $mailer->Subject = $assunto; // corpo da mensagem $mailer->MsgHTML($corpoMSG); if(!$mailer->Send()) { echo "Erro: " . $mailer->ErrorInfo; } else { echo "Mensagem enviada com sucesso!"; } } header('Location: /pet/confirmado.html');  ?> Como comentei,  o email chega... mas o conteúdo do form não chega... Segue anexo print da caixa do e-mail:
       
      Desde já agradeço.

    • Por fmcmf
      Boa tarde...
      Tenho um formulário no site e o envio é usando o PHPMailer... o email está chegando no destino.... mas o conteúdo inserido nos campos não chega.
       
      Segue o código do formulário em html:
      <div id="banner"> <img class="fotobanner" src="img/comprar.png" alt=""> </div> <div class="formulario"> <h3 align="center"> PREENCHA OS DADOS ABAIXO PARA CONTRATAR: </h3> <form action=”envia.php” method=”post” id=”contato”> <div class="form-group"> <label for="exampleFormControlInput1">Nome completo:</label> <input type="nome" class="form-control" id="nome" placeholder="Nome" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">CPF:</label> <input type="cpf" class="form-control" id="cpfcli" placeholder="CPF" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero:</label> <select class="form-control" id="generocli" required> <option>Feminino</option> <option>Masculino</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">Data de Nascimento (dia/mês/ano):</label> <input type="" class="form-control" id="nasccli" placeholder="Data de nascimento (dia/mês/ano)" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Estado Civil:</label> <select class="form-control" id="ecivilcli" required> <option>Casado(a)</option> <option>Solteiro(a)</option> <option>Divorciado(a)</option> <option>Viúvo(a)</option> </select> </div> <div class="form-group"> <label for="exampleFormControlTextarea1">Endereço Completo + CEP:</label> <textarea class="form-control" id="endcli" rows="3" required></textarea> </div> <div class="form-group"> <label for="exampleFormControlInput1">Celular com DDD:</label> <input type="" class="form-control" id="celcli" placeholder="Celular com DDD" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">E-mail:</label> <input type="" class="form-control" id="emailcli" placeholder="E-mail" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PLANO Desejado:</label> <select class="form-control" id="plano" required> <option>SELECT</option> <option>PLUS</option> <option>TOP</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">NOME do PET:</label> <input type="" class="form-control" id="nomedopet" placeholder="NOME do PET" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">IDADE do PET:</label> <input type="" class="form-control" id="idadedopet" placeholder="IDADE do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Tipo do PET:</label> <select class="form-control" id="tipodopet" required> <option>GATO</option> <option>CACHORRO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero do PET:</label> <select class="form-control" id="generodopet" required> <option>FÊMEA</option> <option>MACHO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">RAÇA do PET:</label> <input type="" class="form-control" id="racadopet" placeholder="RAÇA do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PORTE do PET:</label> <select class="form-control" id="portedopet" required> <option>Pequeno</option> <option>Médio</option> <option>Grande</option> </select> </div> <div class="dobotao"> <button type="submit" class="botao"> <strong>ENVIAR DADOS </strong> </button></div> </form></div>  
      Segue o código do enviar.php

       
      <?php require 'PHPMailerAutoload.php'; require 'class.phpmailer.php'; $mailer = new PHPMailer; //$mailer->SMTPDebug = 2; // Enable verbose debug output $mailer->isSMTP(); // Set mailer to use SMTP $mailer->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) ); if($_GET['acao'] = 'enviar'){ $nome = $_POST['nome']; $cpfcli = $_POST['cpfcli']; $generocli = $_POST['generocli']; $nasccli = $_POST['nasccli']; $ecivilcli = $_POST['ecivilcli']; $celcli = $_POST['celcli']; $plano = $_POST['plano']; $nomedopet = $_POST['nomedopet']; $tipodopet = $_POST['tipodopet']; $generodopet = $_POST['generodopet']; $racadopet = $_POST['racadopet']; $portedopet = $_POST['portedopet']; $mailer->Host = 'pleskl0040.hospedagemdesites.ws'; $mailer->SMTPAuth = true; // Enable SMTP authentication $mailer->IsSMTP(); $mailer->isHTML(true); // Set email format to HTML $mailer->Port = 587; // Ativar condição utf-8, para acentuação $mailer->CharSet = 'UTF-8'; $mailer->Username = 'formulario@thna.com.br'; // SMTP username $mailer->Password = '@Nathi1010'; // SMTP password // email do destinatario $address = "formulario@thna.com.br"; //$mailer->SMTPDebug = 1; $corpoMSG = "nome: $nome <br> cpf: $cpfcli <br> genero: $generocli <br> nascimento: $nasccli <br> estado: $ecivilcli <br> celular: $cel <br> plano: $plano <br> pet: $nomedopet <br> tipo: $tipodopet generopet $generodopet <br> racapet: $racadopet <br> porte: $portedopet"; $mailer->AddAddress($address, "destinatario"); $mailer->AddAddress("formulario@thna.com.br", "destinatario 2"); // 2º destinatário se querer enviar, se não, comente com // $mailer->From = 'formulario@thna.com.br'; $mailer->Sender = 'formulario@thna.com.br'; $mailer->FromName = "Site Saúde PET"; // Seu nome // assunto da mensagem $mailer->Subject = $assunto; // corpo da mensagem $mailer->MsgHTML($corpoMSG); if(!$mailer->Send()) { echo "Erro: " . $mailer->ErrorInfo; } else { echo "Mensagem enviada com sucesso!"; } } header('Location: /pet/confirmado.html'); ?> Como comentei,  o email chega... mas o conteúdo do form não chega... Segue anexo print da caixa do e-mail:
       
      Desde já agradeço.
       
       
       
       

    • Por djessica
      Olá, bom dia.
       Tenho um formulário que envia as informações direto para o e-mail, implementei um campo para anexos, mas só recebo um anexo, gostaria de saber como enviar mais de um anexo por este mesmo input, se possível. (o input já recebe mais de um arquivo)
       
      Obrigada.
       
      segue o código funcionando. com apenas um anexo. 
       
      <?php   /* Valores recebidos do formulário  */ $arquivo = $_FILES['arquivo']; $nome = $_POST['nomedoolicitante']; $email = $_POST['emailsolitante']; $descricao = $_POST['descriçõesInstitucional']; $consideracoes = $_POST['consideraçõesInstitucional'];     $to = xx'; $from = "xx"; // Deve ser um email válido do domínio   /* Cabeçalho da mensagem  */ $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $headers = "MIME-Version: 1.0\n"; $headers.= "From:  $nome <$email> \n"; $headers.= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";   $headers.= "$boundary\n";   /* Layout da mensagem  */ $subject = "Contato pelo site "; $corpo_mensagem = " <html> <p><b>Referente ao Solicitante: </b></p> <p><b>Nome: </b>$nome</p> <p><b>E-mail: </b>$email</p> <p><b>Referente ao Material Institucioinal: </b></p> <p><b>Descrição: </b>$descricao</p> <p><b>Considerações: </b>$consideracoes</p>   </html> ";     if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){       $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); // Abri o arquivo enviado.  $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); // Le o arquivo aberto na linha anterior  $anexo = base64_encode($anexo); // Codifica os dados com MIME para o e-mail  fclose($fp); // Fecha o arquivo aberto anteriormente     $anexo = chunk_split($anexo); // Divide a variável do arquivo em pequenos pedaços para poder enviar     $mensagem = "--$boundary\n"; // Nas linhas abaixo possuem os parâmetros de formatação e codificação, juntamente com a inclusão do arquivo anexado no corpo da mensagem     $mensagem.= "Content-Transfer-Encoding: 8bits\n";     $mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n";     $mensagem.= "$corpo_mensagem\n";     $mensagem.= "--$boundary\n";     $mensagem.= "Content-Type: ".$arquivo["type"]."\n";       $mensagem.= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n";       $mensagem.= "Content-Transfer-Encoding: base64\n\n";       $mensagem.= "$anexo\n";       $mensagem.= "--$boundary--\r\n"; }  else // Caso não tenha anexo  {  $mensagem = "--$boundary\n";  $mensagem.= "Content-Transfer-Encoding: 8bits\n";  $mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n";  $mensagem.= "$corpo_mensagem\n"; }   /* Função que envia a mensagem  */ if(mail($to, $subject, $mensagem, $headers)) {     echo "<meta http-equiv='refresh' content='10;URL=../OBRIGADO!.html'>"; }  else  {  echo "<br><br><center><b><font color='red'>Ocorreu um erro ao enviar a mensagem!"; } ?>
    • Por DinhoPHP
      Estou tentando enviar um anexo e o mesmo não chega no email, apenas quando não faço uso da função attach.
      arquivo que contém as functions responsáveis pelo envio do email.
      public function attach(string $filePath, string $fileName): Email{ $this->data->attach[$filePath] = $fileName; return $this; } Arquivo que utiliza a função attach.
      No arquivo que captura os dados do formulário, já passei os parâmetros de tudo quanto é jeito.
      require __DIR__ . "/include/head.php"; require __DIR__ . "/vendor/autoload.php"; use Source\Support\Email; $email = new Email(); // CAPTURANDO DADOS DO FORMULÁRIO $nome = trim(ucwords(preg_replace('/\s\s+/', ' ',($_POST['nome-curriculo'])))); $eemail = trim(strtolower(preg_replace('/\s\s+/', ' ',($_POST['email-curriculo'])))); $telefone = trim(preg_replace('/\s\s+/', ' ',($_POST['telefone-curriculo']))); $cidade = trim(preg_replace('/\s\s+/', ' ',($_POST['cidade-curriculo']))); $assunto = trim(preg_replace('/\s\s+/', ' ',($_POST['assunto-curriculo']))); $mensagem = trim(preg_replace('/\s\s+/', ' ',("<pre>".$_POST['mensagem-curriculo']."</pre>"))); // $file_tmp = ($_FILES['file'], $_POST['name']); $files = $_FILES['curriculo']; $email->add($assunto, "<h3>Nome: {$nome}<br>{$files['name']}<br>Email: {$eemail}<br><br>Telefone: {$telefone}<br><br>Cidade: {$cidade}<br><br></br>Mensagem:<br>{$mensagem}</h3>", $nome, $eemail)->attach($files['tmp_name'], $files['name'])->send(); var_dump($files); A função attach que recebe dois parâmetros, quando utilizada, não envia o anexo vindo do form HTML, já digitando os parâmetros na função, ela envia o anexo. Já li até alguns casos semelhantes aqui mesmo e nada! Só envia o anexo digitando os parâmetros manualmente. 
    • Por BielBagda
      Boa tarde, estou tentando fazer com que uma planilha seja enviada via email com php mailer
      porém está informando 500 Internal Server Error ao clicar em enviar
       
      código

       
       
×

Informação importante

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