caelson1@gmail.com 0 Denunciar post Postado Junho 18, 2020 Olá...Estou tentando fazer funcionar um formulário PHP que envia os campos do formulário junto com anexo.Sou um iniciante em PHP e estou com muita dificuldades.Quero também incluir mais campos no formulário.Será que consigo ajuda??Segue abaixo o script. Muito obrigado, antecipadamente.<?php $subm = $_POST['frm_ok']; // Váriavel que indica que o formulário foi submetido $name = $_POST['nome']; // Nome do remetente(Emissor) $mail = $_POST['meu email do servidor']; // Segue o endereço de email do remetente $__sj = "Formulário de Contato"; // Informe um assunto para a mensagem $__to = $_POST['email que eu quero receber os dados']; // Defina o email do destinatário(Receptor), para mais de um separe-os com vírgula // Verifico se o formulário foi submetido if(isset($subm)): // Descomente a linha abaixo, se você quiser analisar as variáveis que estão sendo passadas pelo formulário via post //echo "<pre>",print_r($_POST),"</pre>"; // Filtro algumas váriaveis passadas $find = "/(content-type|bcc:|cc:)/i"; if(preg_match($find, $name) || preg_match($find, $mail)) exit("<h3>Sem meta/header inclusões, por favor.</h3>"); // Valido o email do remetente, usando expressão regular $regex = "^([[:alnum:]]+)([-._]([[:alnum:]]+))*[@]([[:alnum:]]+)([-._]([[:alnum:]]+))*[.]([[:alnum:]]){2}([[:alnum:]])?$"; if(isset($mail) && !ereg($regex, $mail)) $erro = 1; // Mensagem formatada, enviada no corpo do email $html = "<!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\" xml:lang=\"pt-BR\" lang=\"pt-BR\"> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"> <style> body {background:#FFFFFF;} a, a:link {color:#5b6105; text-decoration:none;} #tab {margin:0; padding:0px; width:500px; border:1px solid #8F8E96; padding:10px;} #tab tr {background:#F6F6F6; } #tab td {color:#000000; font: normal 11px arial, helvetica, sans-serif; border:dashed 1px #DDD; padding:30px;} </style> </head> <body> <br /> <table border='0' cellspacing='10' cellpadding='0' id='tab' align='center'> <tr> <td> <b>Nome:</b> {$name}<br /> <b>Email:</b> {$mail}<br /> <b>Telefone:</b> {$_POST['telefone']}<br /><br /> <b>Mensagem:</b> {$_POST['mensagem']}<br /> </td> </tr> </table> <br /> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
DinhoPHP 1 Denunciar post Postado Junho 23, 2020 <?php /* VOCÊ PRECISARÁ FAZER O DOWNLOAD DO PHPMAILER E INCLUÍ-LA NO NESTE ARQUIVO. SUGIRO TAMBÉM, DAR UMA ESTUDADA NA DOCUMENTAÇÃO DO MESMO. TUDO E ONDE BAIXAR EM: https://github.com/PHPMailer/PHPMailer */ // CAPTURANDO DADOS DO FORMULÁRIO ADD OS ISSET DO POST $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+/', ' ',($_POST['mensagem-curriculo']))); $ip = $_SERVER['REMOTE_ADDR']; $navegador = $_SERVER['HTTP_USER_AGENT']; $files = $_FILES["file"]; $file = $files; try{ // Inicia a classe PHPMailer $mail = new PHPMailer(true); // Define os dados do servidor e tipo de conexão // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= //$mail->SMTPDebug = SMTP::DEBUG_SERVER; // Enable verbose debug output $mail->CharSet = "UTF-8"; $mail->setLanguage('br'); $mail->Host = "mail.host.com.br"; // Endereço do servidor SMTP $mail->Username = 'emaildahospedagem@host.com.br'; // Usuário do servidor SMTP $mail->Password = 'senha'; // Senha do servidor SMTP $mail->Port = 587; // SMTP 465 - IMAP 993 - 587 $mail->isSMTP(); $mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional) $mail->SMTPSecure = 'tls'; //$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` $mail->Priority = 1; // Define o remetente // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->From = ("email@email.com.br"); // E-mail do usuário $mail->FromName = $nome; // Seu nome // Define os destinatário(s) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->AddAddress($eemail); //$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia //$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta // Define os dados técnicos da Mensagem // =-=-=-=-=-=-=-=-=-=-=1-=-=-=-=-=-=-=-=-= $mail->IsHTML(); // Define que o e-mail será enviado como HTML // $mail->CharSet = 'iso-8859-1'; // Charset da mensagem (opcional) // Define a mensagem (Texto e Assunto) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->Subject = $assunto; // Assunto da mensagem //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body // $mail->msgHTML(FILE_USE_require_once_ATH('contents.html', 1)); // CORPO DO EMAIL // FORMATO HTML $mail->Body = "<h4><p>Nome: {$nome}.<br><br>Email: {$eemail}<br><br>Telefone: {$telefone}.<br><br>Cidade: {$cidade}.<br><br>Assunto: {$assunto}.<br><br>Mensagem: {$mensagem}</p><p><h6><br>IP do remetente: {$ip}<br>Navegador do remetente: {$navegador}</h6></p></h4>"; // FORMATO SEM HTML $mail->AltBody = "Nome: {$nome}" . "\n" . "\n" . "Email: {$eemail}" . "\n" . "Telefone: {$telefone}" . "Cidade: {$cidade}" . "\n" . "Mensagem: {$mensagem}" . "\n" . "IP do remetente: {$ip}" . "\n" . "Navegador do remetente: {$navegador}"; // Define os anexos (opcional) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->AddAttachment($file['tmp_name'], $file['name'], 'base64'); // Insere um anexo //print_r($_FILES);echo"<br>";print_r($files); // Envia o e-mail $mail->Send(); // Limpa os destinatários e os anexos $mail->ClearAllRecipients(); $mail->ClearAttachments(); // FIM DO ENVIO DE EMAIL }catch (Exception $e) echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; } ?> https://github.com/PHPMailer/PHPMailer Postei um código pq tive grandes e misteriosos problemas para anexar, mas consegui desta maneira. Tirei muitas adaptações que tinha, mas com isso você já consegue enviar com anexo. Compartilhar este post Link para o post Compartilhar em outros sites