Ir para conteúdo
tony_lu

Problemas de Caracteres ao Enviar Email

Recommended Posts

Ola pessoal estou com um problema ao enviar mensagens de e-mail pelo site, tem provedores de emails que a mensagem vem com caracteres errados quando ocorre acentuação, ex:

 

Ingresso(s) válido(s) especificamente para a data e horário acima.

É obrigatório chegar com 30 minutos de antecedência em relação ao horário da reserva.

 

No Gmail, Yahoo a mensagem fica perfeita, mas por exemplo eu abro em um Webmail de Cpanel por exemplo e a mensagem vem toda errada!

Segue abaixo o codigo php

 

//Envio de Email 
                $emailEmpresa = 'contato@xxxx.com.br';
                $headers = "MIME-Version: 1.1\r\n";
                $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
                $headers .= "From: $emailEmpresa\r\n"; // remetente
                $headers .= "Return-Path: $emailEmpresa\r\n"; // return-path            
                $to = $email;
                $from = 'From: '.$emailEmpresa.' <'.$emailEmpresa.'>'."\r\n".'Reply-To: '.$emailEmpresa;
                $subj = 'Cadastro Realizado';
                $body = "<div style='width:90%'>
<center><img src='https://xxxx.com.br/emkt.jpg' /></center><br><br>
<div style='width:100%; border: 1px solid #333; text-align:center; padding: 15px'>
    <b>DATA DO INGRESSO:</b> $dia
    <b><br>
    HORÁRIO:</b> $hora
    <b><br>
    INGRESSOS:</b> 4  -  <b>VALOR TOTAL</b>: R$200
</div><br>
<p>Olá, <strong>$nome</strong><br />
  <br />
Favor ler  atentamente as regras </p>
<ul>
  <li>Ingresso(s)  válido(s) especificamente para a data e horário acima.</li>
  <li>É  obrigatório chegar com 30 minutos de antecedência em relação ao horário da  reserva.</li>
</ul>
</div>";
echo     $body;        
                if( mail( $to, $subj, $body, $headers )) $erro = 0;

Podem me ajudar?!

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por ritacfreire
      Boa Tarde !!! Estou com um form que apresentava caracteres especial, corregi colocando utf8_decode
       
      Para o PC ficou bom mais no android agora vem com caracteres especiais.
       
      Como resolver.
       
      Obrigado
    • Por gilbertjuniors
      Pessoal, boa noite.
       
      Instalei o Xampp na minha máquina e estou tentando configurar o Mercury para enviar emails para minha conta no GMail
       
      Segui os seguintes vídeos tutoriais
      https://www.youtube.com/watch?v=iwjNIUuM_iI
      https://www.youtube.com/watch?v=rcWS1uuf304
      https://www.youtube.com/watch?v=2-WYsG_yIX8
       
      As explicações sobre as configurações são similares nestes 3 vídeos, porém, não está funcionando.
      O envio usando o Send Mensage Message do próprio Mercury também não deu certo
       
      Desativei o anti-vírus e o firewall mas também não resolveu.
       
      Alguém pode me dar uma luz? 
      Preciso criar um ambiente para testar o envio de email através de formulário de site que estou criando.
    • Por kleinfelipe1
      Estou desenvolvendo um site onde os participantes cumprem desafios, e eu preciso que, depois que o participante enviou o video, o status dele seja 1. E depois de 24 horas do vídeo enviado, volte a ser 0 para a condição de recebimento de emails. Por onde começo?
    • Por gilbertjuniors
      Pessoal estou finalizando um site institucional one page e, não vejo a necessidade de executar acionar o servidor php a toda abertura deste site.
       
      Pensei em inciar o index.html e somente quando alguém que acessou o site clicar em enviar no formulário de contato ser executado um arquivo enviar.php exteno.
       
      Coloquei os 2 arquivos na raiz public_html mas não o email não está sendo enviado
       
      O código do formulário do index.html é o seguinte:
      <form name="FrmContato" method="post" action="enviar.php"> <div class="form-group row"> <label class="col-sm-2 col-form-label">Empresa</label> <div class="col-sm-10"> <input class="form-control" name="empresa" type="text" placeholder="Empresa"> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">Nome</label> <div class="col-sm-10"> <input class="form-control" name="nome" type="text" placeholder="Contato"> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">Email</label> <div class="col-sm-10"> <input class="form-control" name="email" type="email" placeholder="Email"> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">Telefone</label> <div class="col-sm-10"> <input class="form-control" name="fone" type="tel" placeholder="(55)-555-5555"> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">Serviço</label> <div class="col-sm-10"> <textarea rows="4" cols="50" name="message" form="usrform" class="form-control" placeholder="Descreva o serviço a ser executado"></textarea> </div> </div> <button name="enviar" type="submit" class="btn btn-primary" style="float:right;">Enviar informações</button> </form>  
      E o arquivo enviar.php é o seguinte
      <?php //isset checa se o botão enviar foi clicado e só vai disparar o email se for verdadeiro if(isset($_POST['enviar'])){ $assunto = "Solicitar serviço"; // pegando os dados do form... $empresa = $_POST['empresa']; $nome = $_POST['nome']; $email = $_POST['email']; $fone = $_POST['fone']; $mensagem = $_POST['message']; // preparando a mensagem $msg = "Este é um contato enviado pelo site por".$empresa."com as seguintes informações: <br>"; $msg .= "Nome (contato):". $Nome ."<br>"; $msg .= "Email:". $email ."<br>"; $msg .= "Telefone:". $fone ."<br><br>"; $msg .= "Mensagem:". $mensagem ."<br>"; // email onde tu vai receber a mensagem $destinatario = "contato@meusite.com.br"; // headers que prepara a mensagem $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=utf-8\r\n"; $headers .= "From: " . $_POST["nome"] . "<" . $_POST["email"] . ">\r\n"; $headers .= "Reply-To: " . $_POST["email"] . "\r\n"; // envia o email... mail($destinatario,$assunto,$msg,$headers); // volta para contato.html header("Location: index.html"); } ?>  
      O que fiz errado?
       
    • Por Rengavitp
      Boa noite pessoal, nao consigo enviar email pelo javamail no glassfish, eu uso a mesma classe em uma aplicação swing e funciona perfeitamente mas na versão web não vai e da erro relacionado a sessão, pelo que vi preciso criar uma sessão no glassfish mas nao faço ideia de como fazer, abaixo segue a classe e o log.
       
      public static boolean solicitaCotacao(List<Pedido> pedido, List<Transportador> transp, String email_vendedor) { boolean resultado = false; try { if (pedido.size() > 0) { Pedido primeiroPedidoEncontrado = (Pedido) pedido.get(0); String origem = "Origem: PORTO BELO - SC"; String cnpjorigem = "Cnpj: 00.000.000/0000-00"; String cidadedestino = primeiroPedidoEncontrado.getMunicipio_cliente().trim(); String uf = primeiroPedidoEncontrado.getUf_cliente(); String cnpjcliente = primeiroPedidoEncontrado.getCnpj_cpf().trim(); int tamanho = cnpjcliente.length(); if (tamanho == 11) { Email.format("###.###.###-##", cnpjcliente); } else { Email.format("##.###.###/####-##", cnpjcliente); } String nf = String.valueOf(primeiroPedidoEncontrado.getNota_fiscal()); int volumes = primeiroPedidoEncontrado.getVolumes(); float peso = primeiroPedidoEncontrado.getPeso(); float m3 = primeiroPedidoEncontrado.getCub(); String frete = primeiroPedidoEncontrado.getTipo_frete(); String l_frete = frete.equals("1") ? "CIF" : "FOB"; Properties props = new Properties(); props.put("mail.transport.protocol", "smtp"); props.put("mail.smtp.host", "smtpout.secureserver.net"); props.put("mail.smtp.socketFactory.fallback", "false"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("email", "senha"); } }); session.setDebug(true); Message message = new MimeMessage(session); message.setFrom(new InternetAddress(email_vendedor.trim())); //Destinatário(s) da resposta Address[] enderecos; enderecos = InternetAddress.parse(email_vendedor.trim()); message.setReplyTo(enderecos); for (Transportador dados : transp) { message.addRecipients(Message.RecipientType.TO, InternetAddress.parse(dados.getEmail())); } message.setSubject("Solicitação de Cotação"); message.setText("Olá, solicitamos cotação conforme os dados abaixo:\n\n" + origem + "\n" + cnpjorigem + "\n" + "Destino: " + cidadedestino + " - " + uf + "\n" + "Cnpj: " + cnpjcliente + "\n" + "Frete: " + l_frete + "\n" + "Volumes: " + volumes + "\n" + "Peso Total: " + peso + " KG" + "\n" + "Cub: " + m3 + " m3" + "\n\n"); Transport.send(message); System.out.println("Email enviado!"); resultado = true; } } catch (MessagingException e) { resultado = false; } return resultado; }` e o erro.
      java.lang.SecurityException: Access to default session denied at javax.mail.Session.getDefaultInstance(Session.java:333) at modelo.Email.solicitaCotacao(Email.java:68) at org.apache.jsp.processa.processa_005fsolicitacao_005fcotacao_jsp._jspService(processa_005fsolicitacao_005fcotacao_jsp.java:69) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283) at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206) at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180) at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200) at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132) at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111) at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536) at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571) at java.lang.Thread.run(Thread.java:745) Informações: DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc] Informações: DEBUG SMTP: need username and password for authentication Informações: DEBUG SMTP: useEhlo true, useAuth true Informações: DEBUG SMTP: trying to connect to host “smtpout.secureserver.net”, port 25, isSSL false  
×

Informação importante

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