none
Quebra de linha no envio de smtp autenticado RRS feed

  • Pergunta

  • Opa

    Estou com um problema nosso servidor só aceita envio de email autenticado desta forma peguei um código em asp para fazer o envio e adptei para nossa realidade, eu consigo fazer o envio porém a mensagem chega toda em um linha eu gostaria que chegasse assim

    Empresa: 
    Contato: 
    Telefone: 
    E-mail:
    Assunto: 

    Já tentei com <br> , /n mas não achei a solução, preciso da ajuda de vocês.

    Existe um apção de colocar como texto plano ou html mas tudo que eu faço gera erro.

    Segue o código do smtp autenticado.

    <html>
    
    <head>
    <title></title>
    
    
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    
    </head>
    
    <%
    
    
    'cria o objeto para o envio de e-mail
    Set objCDOSYSMail = Server.CreateObject("CDO.Message")
    
    'cria o objeto para configuração do SMTP
    Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")
    
    'SMTP
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "ip servidor"
    
    'porta do SMTP
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = porta
    
    'porta do CDO
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    
    'ATIVAR RECURSO DE SMTP AUTENTICADO
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    
    'USUÁRIO PARA SMTP AUTENTICADO
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email"
    
    'SENHA DO USUÁRIO PARA SMTP AUTENTICADO
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "senha"
    
    'timeout
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
    
    objCDOSYSCon.Fields.update
    
    'atualiza a configuração do CDOSYS para o envio do e-mail
    Set objCDOSYSMail.Configuration = objCDOSYSCon
    
    'e-mail do remetente
    objCDOSYSMail.From = "email"
    
    'e-mail do destinatário
    objCDOSYSMail.To = "email"
    
    'assunto da mensagem
    objCDOSYSMail.Subject = "assunto"
    
    'conteúdo da mensagem
    TextBody = TextBody & "         Empresa: " & Replace(Request("empresa"),  vbCrLF, "<br />")
    TextBody = TextBody & "         Contato: " & Replace(Request("contato"),  vbCrLF, "<br />")
    TextBody = TextBody & "         Telefone: " & Replace(Request("ddd"),  vbCrLF, "<br />")
    TextBody = TextBody & "         " & Replace(Request("telefone"),vbCrLF, "<br />")
    TextBody = TextBody & "         E-mail: " & Replace(Request("email"),  vbCrLF, "<br />")
    TextBody = TextBody & "         Assunto: " & Replace(Request("mensagem"), vbCrLF, "<br />")
    
    
    objCDOSYSMail.TextBody = TextBody
    'para envio da mensagem no formato html altere o TextBody para HtmlBody ***** NÃO ENTENDI COMO APLICAR *****
    
    'envia o e-mail
    objCDOSYSMail.Send
     
    'destrói os objetos
    Set objCDOSYSMail = Nothing
    Set objCDOSYSCon = Nothing
    
    %>
    </font></p>parte html</p>
     
    
    </html>

    quarta-feira, 15 de outubro de 2014 13:56

Respostas

  • Você precisa enviar o corpo do e-mail como HTML e não como texto. Para fazer isso, no lugar de 

    objCDOSYSMail.TextBody = TextBody


    use

    objCDOSYSMail.HTMLBody = TextBody

    Marque como últi, se a resposta te ajudou!
    quarta-feira, 15 de outubro de 2014 14:09

Todas as Respostas

  • Você precisa enviar o corpo do e-mail como HTML e não como texto. Para fazer isso, no lugar de 

    objCDOSYSMail.TextBody = TextBody


    use

    objCDOSYSMail.HTMLBody = TextBody

    Marque como últi, se a resposta te ajudou!
    quarta-feira, 15 de outubro de 2014 14:09
  • Mesmo trocando  para:

    objCDOSYSMail.HTMLBody = TextBody

    O email continua continua chegando como texto mesmo colocando  "<br>" não acontece a quebra de linha.

    Estou precisando de ajuda.

    TextBody = TextBody & "         Empresa: " & Replace(Request("empresa"),  vbCrLF, "<br />")
    TextBody = TextBody & "         Contato: " & Replace(Request("contato"),  vbCrLF, "<br />")
    TextBody = TextBody & "         Telefone: " & Replace(Request("ddd"),  vbCrLF, "<br />")
    TextBody = TextBody & "         " & Replace(Request("telefone"),vbCrLF, "<br />")
    TextBody = TextBody & "         E-mail: " & Replace(Request("email"),  vbCrLF, "<br />")
    TextBody = TextBody & "         Assunto: " & Replace(Request("mensagem"), vbCrLF, "<br />")

    sexta-feira, 17 de outubro de 2014 15:57
  • Pode fazer um Reponse.Write da variável e colar aqui, por favor?
    Response.Write(TextBody)


    sexta-feira, 17 de outubro de 2014 19:04
  • Bom dia

    utilize ao final de cada linha

    ........" & vbcrlf

    quarta-feira, 29 de março de 2017 14:15