Erro Formulario PHPMailer
Boa Tarde Galera estou com um problema, estou utilizando um formulario com anexo e lista, até ai tudo bem, todos os campos funcionam, exceto o de mensagem... se coloco um campo como textarea ele simplesmente não é enviado para o e-mail vou por os codigos separados aki caso alguem possa me ajudar... somente o campo MENSAGEM não chega.
Contato.php
<?php
require_once('config.php');
if(sizeof($campoerror)==0 && isset($_POST['formulario'])){
require_once('enviaemail.php');
}
$classaviso = (is_array($aviso)?($aviso['1']?'success aviso':'error aviso'):'none');
?>
<style>
.campo{
float:right;
width: 300px;
margin-bottom: 20px;
text-align: left;
}
.naopostado{
color: rgb(127, 127, 127); font-style: italic;
}
.right{
float: right;
}
.clear{
clear: both;
}
.info{
margin-bottom: 20px;
color: #3a87ad;
background-color: #d9edf7;
border-color: #bce8f1;
padding: 8px 35px 8px 14px;
border: 1px solid #fbeed5;
border-radius: 4px;
}
.success {
color: #4F8A10;
background:#DFF2BF url('imagens/success.png') no-repeat;
}
.warning {
color: #9F6000;
background:#FEEFB3 url('imagens/warning.png') no-repeat;
}
.error {
color: #D8000C;
background:#FFBABA url('imagens/error.png') no-repeat;
}
.aviso{
border: solid;
width: 80%;
padding-left: 20px;
}
.none{
display: none;
}
input, select{
width: 197px;
}
.errorinput{
background-color: <?php echo ($corerro?$corerro:'')?>
}
</style>
<div class="<?php echo $classaviso?>">
<?php
if(isset($aviso['0'])){
echo $aviso['0'];
}
?>
</div>
<div class="col2">
<div class="info"><strong>Aviso: </strong>Campos Obrigatórios *</div>
<form id="senddata" action="" method="post" name="senddata" enctype="multipart/form-data">
<input type="hidden" name="formulario" value="enviaemail" />
<?php for($i=0;$i<count($arraycampos);$i++){
//echo (isset($arraycampos[$i][3])?$arraycampos[$i][3]:'');
$campo = $arraycampos[$i][1];
$mudacor = (in_array($campo, $campoerror)?$corerro:false);
if(isset($arraycampos[$i][3]) && $arraycampos[$i][3] == 'textarea'){
?>
<div class="col_half">
<label for="<?php echo $campo?>">
<span class="right"><?php echo $arraycampos[$i][0].(isset($arraycampos[$i]['obrigatorio']) && $arraycampos[$i]['obrigatorio'] == 1?' * ':'')?>: </span>
<textarea class="<?php echo (isset($_POST["$campo"]) && $_POST["$campo"]!=$arraycampos[$i][2]?'':' naopostado').($mudacor?' errorinput':'')?>" name="<?php echo $campo?>" <?php echo (isset($arraycampos[$i][4]['col'])?'cols="'.$arraycampos[$i][4]['col'].'"':'').(isset($arraycampos[$i][4]['rows'])?'rows="'.$arraycampos[$i][4]['rows'].'"':'') ?> onblur="if(this.value==''){this.style.fontStyle='italic';this.style.color='#7f7f7f';this.value='<?php echo $arraycampos[$i][2]?>';}" onfocus="if(this.value=='<?php echo $arraycampos[$i][2]?>'){this.value='';this.style.color='#333';this.style.fontStyle='normal';}else{ if(this.value==''){this.style.fontStyle='italic';this.style.color='#7f7f7f';this.value='<?php echo $arraycampos[$i][2]?>';}}"><?php echo (isset($_POST["$campo"])?$_POST["$campo"]:$arraycampos[$i][2])?></textarea>
</label>
<div class="clear"></div>
</div>
<?php
}elseif(isset($arraycampos[$i][3]) && $arraycampos[$i][3] == 'select'){
?>
<div class="col_half col_last">
<label for="<?php echo $campo?>">
<span class="form-txt"><?php echo $arraycampos[$i][0].(isset($arraycampos[$i]['obrigatorio']) && $arraycampos[$i]['obrigatorio'] == 1?' * ':'')?>: </span>
</label>
<select <?php echo (isset($_POST["$campo"]) && $_POST["$campo"]!=''?($mudacor?' class="errorinput"':''):' class="naopostado'.($mudacor?' errorinput"':'"'))?> name="<?php echo $campo?>" onBlur="if(this.options[this.selectedIndex].value==''){this.style.fontStyle='italic';this.style.color='#7f7f7f';}else{this.style.color='#333';this.style.fontStyle='normal';}">
<option value=""><?php echo (isset($arraycampos[$i][2])?$arraycampos[$i][2]:'Selecione')?></option>
<?php
if(isset($arraycampos[$i]['option'])){
foreach($arraycampos[$i]['option'] as $k => $v){
?><option <?php echo (isset($_POST["$campo"])&& $_POST["$campo"] == $k?'selected="selected" ':'')?>value="<?php echo $k ?>"><?php echo $v?></option><?php
}
}
?>
</select>
</div>
<?php
}elseif(isset($arraycampos[$i][3]) && $arraycampos[$i][3] == 'file'){
?>
<div class="col_half col_last">
<label for="<?php echo $campo?>">
<span class="form-txt"><?php echo $arraycampos[$i][0].(isset($arraycampos[$i]['obrigatorio']) && $arraycampos[$i]['obrigatorio'] == 1?' * ':'')?>: </span>
</label>
<input type="file"<?php echo (isset($_POST["$campo"]) && $_POST["$campo"]!=$arraycampos[$i][2]?($mudacor?' class="errorinput"':''):' class="naopostado'.($mudacor?' errorinput"':'"'))?> name="<?php echo $campo?>" onBlur="if(this.value==''){this.style.fontStyle='italic';this.style.color='#7f7f7f';this.value='<?php echo $arraycampos[$i][2]?>';}" onFocus="if(this.value=='<?php echo $arraycampos[$i][2]?>'){this.value='';this.style.color='#333';this.style.fontStyle='normal'}" value="<?php echo (isset($_POST["$campo"])?$_POST["$campo"]:$arraycampos[$i][2])?>">
</div>
<?php
}else{
?>
<div class="col_half col_last">
<label for="<?php echo $campo?>">
<span class="form-txt"><?php echo $arraycampos[$i][0].(isset($arraycampos[$i]['obrigatorio']) && $arraycampos[$i]['obrigatorio'] == 1?' * ':'')?>: </span>
</label>
<input type="text"<?php echo (isset($_POST["$campo"]) && $_POST["$campo"]!=$arraycampos[$i][2]?($mudacor?' class="errorinput"':''):' class="naopostado'.($mudacor?' errorinput"':'"'))?> name="<?php echo $campo?>" onBlur="if(this.value==''){this.style.fontStyle='italic';this.style.color='#7f7f7f';this.value='<?php echo $arraycampos[$i][2]?>';}" onFocus="if(this.value=='<?php echo $arraycampos[$i][2]?>'){this.value='';this.style.color='#333';this.style.fontStyle='normal'}" value="<?php echo (isset($_POST["$campo"])?$_POST["$campo"]:$arraycampos[$i][2])?>">
</div>
<?
}
}
?>
<div class="campo">
<input type="submit" name="Enviar" value="Enviar" />
</div>
<div class="clear"></div>
</form>
config.php
<?php
/*Altere a cor que o campo ficará caso algum erro na validação, na variável $corerro*/
$aviso = false; $classaviso = 'none'; $corerro = '#FFBABA';
/*Defina aqui todos os campos do formulário na ordem Label,
*name do input ou textarea,
*valor inicial do campo (dica do que preencher),caso textarea, informe 'textarea',
*caso textarea crie um array e defina rows e cols, conforme no exemplo abaixo,
*defina no final se o campo é obrigario ou não com 1 ou 0
**/
$arraycampos = array(
array('Nome','nome','Informe seu nome','obrigatorio'=>1),
array('Renavam','renavam','Informe o numero do Renavam','obrigatorio'=>1),
array('Placa','placa','Informe sua Placa','obrigatorio'=>1),
array('Telefone','telefone','Informe seu telefone','obrigatorio'=>0),
array('E-mail','email','Informe seu E-mail','obrigatorio'=>1),
array('Assunto','assunto','Selecione o Assunto', 'select', 'obrigatorio'=>1, 'option' => array('cadastro' => 'Cadastro Consultoria', '1 emplacamento' => '1° Emplacamento', 'licenciamento' => 'Licenciamento', 'recurso' => 'Recurso de Multa', 'renaovacao' => 'Renovação de Carteira', 'transferencia' => 'Transferência')),
array('Anexo','anexo','Incluir Arquivo Anexo', 'file', 'obrigatorio'=>0),
array('Mensagem','mensagem','Informe sua Placa','rows'=>'10', 'col'=>'52','obrigatorio'=>1
),
);
function validacao($arraycampos){
$return = array();
if(isset($_POST)){
for($i=0;$i<count($arraycampos);$i++){
$campo = $arraycampos[$i][1];
if(isset($arraycampos[$i]['obrigatorio'])){
$obrigatorio = $arraycampos[$i]['obrigatorio'];
}else{
$obrigatorio = false;
}
if(isset($_POST[$campo])){
if($obrigatorio){
if(trim($_POST[$campo])=='' || $_POST[$campo] == $arraycampos[$i][2]){
$return[] = $campo;
}
}
}
}
}else{
return false;
}
return $return;
}
/*Campos com erro*/
$campoerror = validacao($arraycampos);
if(sizeof($campoerror) > 0){
$aviso = array();
$aviso[0] = 'Erro:<br>';
for($i=0;$i<count($campoerror);$i++){
$aviso[0] .= 'O campo '.$campoerror[$i].' é obrigatorio.<br>';
}
$aviso[1] = 0;
}
?>
enviaemail.php
<?php
/Configuracaoo do seu e-mail/
$email_do_seu_site = "****@****.com";
$senha_do_seu_email = "****";
$nome = $_POST['nome'];
$email = $_POST['email'];
if(isset($_POST['assunto'])){
$assunto = $_POST['assunto'];}else{
$assunto = 'Formulario de E-mail';
}
$html = '<html>
<body>';
for($i=0;$i<count($arraycampos);$i++){
$campo = $arraycampos[$i][1];
if(isset($arraycampos[$i][3]) && isset($arraycampos[$i][3]) == 'file'){
continue;
}
$html .= '<p>'.$arraycampos[$i][0].': '.(isset($_POST[$campo])&& $_POST[$campo]!=$arraycampos[$i][2]?$_POST[$campo]:'').' </p>';
}
require_once('setmail.php');
$mail->ClearAddresses();
//LISTA DE ENDERECOS QUE DEVE SER MANDADO O E-MAIL
/*Nome da pessoa que enviou a mensagem, por padrao o nome informado no formulario*/
$mail->FromName = $nome;
/*Responder para, por padrao o e-mail informado no formulario*/
$mail->AddReplyTo($email);
$mail->AddAddress($email_do_seu_site,'Formulario de E-mail Seu Site');
$mail->AddAddress($email,$nome);
/*Se alterar o nome do campo file, mude o nome da varival anexo*/
$nome_anexo = 'anexo';
if (isset($_FILES[$nome_anexo]) && $_FILES[$nome_anexo]['error'] == UPLOAD_ERR_OK) {
$mail->AddAttachment($_FILES[$nome_anexo]['tmp_name'],
$_FILES[$nome_anexo]['name']);
$html .= '<p>E-mail com anexo.</p>';
}
$mail->Subject = $assunto;
$html .= '<p>Recebemos seu contato e em breve estaremos respondendo.</p></body>
</html>';
$msg = utf8_decode($html);
$mail->Body = $msg;
//ENVIANDO E RETORNANDO STATUS DO ENVIO
if(!$mail->Send()){
//ERRO NO ENVIO
$aviso = array("Ocorreu um erro no envio do e-mail: '.$email.'. Erro: ".$mail->ErrorInfo,0); //FUNCAO INFORMA O ERRO OCORRIDO //
}else{
$aviso = array('E-mail '.$email.' Enviado com sucesso para o Site',1);
}
setmail.php
<?php
/Inclue a Classe phpmailer e a instancia/
require_once("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();/Envia utilizando SMTP (maioria dos provedores)/
$mail->IsSMTP();
/Endereço do Host SMTP, configurado o do gmail/
$mail->Host = "smtp.******.com";
/Número da porta do servidor de e-mail, configurado a do gmail/
$mail->Port = 587;
/Define a Autenticação como necessária, configurado pelo gmail/
$mail->SMTPAuth = true;
/Define o tipo de segurança usada, configurado pelo gmail/
$mail->SMTPSecure = "";
/Define o nome do seu usuário de e-mail, configurado pelo gmail/
$mail->Username = $email_do_seu_site;
/Define a senha para acessar o e-mail/
$mail->Password = $senha_do_seu_email;
/*Adiciona o From e-mail, de onde o e-mail foi enviado,
*por padrão utilize o seu e-mail, o mesmo em $mail->Username
**/
$mail->From = $email_do_seu_site;
/DEFININDO A LINGUAGEM/
$mail->SetLanguage("br", "phpmailer/language/");
/Define a quebra de linha após 50 caracteres/
$mail->WordWrap = 50;
/Define que a mensagem é do tipo HTML/
$mail->IsHTML(true);
?>Discussão (1)
Carregando comentários...