-
Conteúdo Similar
-
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 Gustavo2503
Quando eu abro o email no Gmail, vai em formato de HTML, mas no Outlook fica todo zuado, o código está assim:
$email_enviar = "Nome <email@exemplo.com>"; $email_para = "Nome <email@exemplo.com>"; $cabecalho = 'MIME-Version: 1.0' . "\r\n"; $cabecalho.= 'Content-type: text/html; charset=UTF-8;' . "\r\n"; $cabecalho.= "Return-Path: $email_enviar \r\n"; $cabecalho.= "From: $email_enviar \r\n"; $cabecalho.= "Reply-To: $email_enviar \r\n"; $assunto = "Assunto"; $menssagem = " <!doctype html> <html lang='pt-br'> <head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Título</title> <style type='text/css'> </head> <body> <div align='center'> <h1>Título</h1> </div> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean eget commodo tortor, eget tincidunt urna. Aliquam odio elit, tristique ac nisl vel, fermentum porta elit. Suspendisse urna magna, maximus et ipsum quis, rutrum tristique sem. Curabitur faucibus nulla malesuada dolor venenatis pharetra. Curabitur ac massa placerat, viverra nibh id, volutpat nibh. Vestibulum leo purus, placerat vel lorem eu, rhoncus lacinia erat. Morbi venenatis fermentum pretium.</p> </body> </html> "; if (mail($email_para, $assunto, $mensagem, $cabecalho)){ echo 'Sucesso'; } else { echo 'Erro'; }
-
Por fabiobmoraes
Srs. Ajuda pf.
Já quebrei a cabeça mas não resolvi...
Script
******************
<?php
$SenderAddress = "test@test.com";
define('OCU_RELEASE', '1.1');
define('OCU_ERR', !empty($_GET['err']));
if (OCU_ERR) {
error_reporting(E_ALL);
ini_set('display_errors', 'On');
}
else {
error_reporting(0);
}
if (basename(__FILE__) == '1cu.php') {
die('For your safety: you should really change the name of this file');
}
if (!empty($_GET['test'])) {
die("OK: ".OCU_RELEASE);
}
if (empty($_GET['l']) && empty($_GET['e'])) {
die("OK");
}
$l = isset($_GET['l']) ? $_GET['l'] : '';
$e = isset($_GET['e']) ? $_GET['e'] : '';
$m = isset($_GET['m']) ? $_GET['m'] : '';
$l = OCU_Unencode($l);
$e = OCU_Unencode($e);
$to = $l;
$subject = "Unsubscribe";
$message = "Unsubscribe $e";
$from = $e;
if ($SenderAddress != 'test'.'@'.'test'.'.com') {
$from = $SenderAddress;
}
switch ($mode) {
case "1":
$headers = "X-UserMail: $e";
break;
case "2":
$headers = "From: $from";
break;
default:
$headers = "From: $from" . "\r\n" . "X-UserMail: $e";
}
if (mail($to, $subject, $message, $headers)) {
Header("Location: removal.htm");
} else {
die("There was an error processing your request; please manually send an email to $l with Unsubscribe as its subject");
}
exit;
function OCU_Unencode($data) {
return base64_decode(strtr($data, '-_', '+/'));
}
?>
***************************
Não envia de maneira nenhuma.
Alguém pode me ajudar?
-
Por Gabriel_Duarte
Olá, Estou procurando livros e Informações mais confiáveis e simples de como funciona o Sistema de Email do php. desde como colocar a função mail() no php, ate como configurar dentro do php.in para qualquer email possível (ja pesquisei para o gmail, porem quero para qualquer tipo de email ate emails de servidores exemplo: contato@contato.com).
Fiz uma pesquisa mas achei muita coisa vaga, com variância, então peça ajuda pra quem entende bem sobre esse assunto, ou que sabe aonde posso achar essas informações.
-