Jump to content
xanburzum

[Resolvido] Envio de email autenticado pelo serviço de SMTP da Locaweb

Recommended Posts

Olá, pessoal...

 

tenho um code de envio de email que sempre funcionou normal, porém agora a empresa contratou um serviço de SMTP (para enviar mais emails, sem ser considerados spams), porem o code abaixo fala que a conta não existe...

 

Alguém já teve este problema ?

É preciso configurar alguma coisa a mais para o envio de email autenticado...

 

O EnableSsl está como false, pois estou usando a porta 587, conforme a própria locaweb recomendou, endereço SMTP correto

 

<%@ Page Language="VB" %>

<%@ Import Namespace="System.Net.Mail" %> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

               'Define os dados do e-mail
               Dim nomeRemetente as string
               Dim emailRemetente as string
               Dim senha as string

               nomeRemetente  = "chospir"
               emailRemetente = "emailok@chospir.com.br"
               senha          = "YFUçlpD147gh"

               Dim emailDestinatario as string
               Dim emailComCopia as string
               Dim emailComCopiaOculta as string

               emailDestinatario    = "teste@terra.com.br"
               emailComCopia        = "contato@teste.com.br"
               emailComCopiaOculta  = "email@comcopiaoculta.com.br"

 
               'Host da porta SMTP
               Dim SMTP as string

               SMTP = "smtplw.com.br"

               Dim assuntoMensagem as string
               Dim conteudoMensagem as string

               assuntoMensagem      = "Teste de envio de emails"
               conteudoMensagem     = "Teste de envio de emails"

 
               'Cria objeto com dados do e-mail.
               Dim objEmail As New System.Net.Mail.MailMessage()

               'Define o Campo From e ReplyTo do e-mail.
               objEmail.From = New System.Net.Mail.MailAddress("<" & emailRemetente & ">")
               'objEmail.ReplyTo = New System.Net.Mail.MailAddress("Sintchospir <sintchospir@sintchospir.com.br>")

               'Define os destinatários do e-mail.
               objEmail.To.Add("<" & emailDestinatario & ">")

               'Define a prioridade do e-mail.
               objEmail.Priority = System.Net.Mail.MailPriority.Normal

               'Define o formato do e-mail HTML (caso não queira HTML alocar valor false)
               objEmail.IsBodyHtml = True

               'Define o título do e-mail.
               objEmail.Subject = assuntoMensagem

               'Define o corpo do e-mail.
               objEmail.Body = "<b>" & conteudoMensagem & "</b>" 
 
               'Para evitar problemas com caracteres "estranhos", configuramos o Charset para "ISO-8859-1"
               objEmail.SubjectEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")
               objEmail.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")

 
 
               'Cria objeto com os dados do SMTP
               Dim objSmtp as New System.Net.Mail.SmtpClient(SMTP, 587)

               'Alocamos o endereço do host para enviar os e-mails  
               objSmtp.Credentials = New System.Net.NetworkCredential(emailRemetente, senha)
               objSmtp.Host = SMTP
               objSmtp.Port = 587
               objSmtp.EnableSsl = False 'true se o SmtpClient usar SSL; caso contrário, false. O padrão é false, mas seta ele só para garantir

              'Enviamos o e-mail através do método .send()

               Try
                       objSmtp.Send(objEmail)
                       Response.Write("E-mail enviado com sucesso !")
               Catch ex As Exception
                       Response.Write("Ocorreram problemas no envio do e-mail. Erro = " & ex.Message)
               End try
                       'excluímos o objeto de e-mail da memória
                       objEmail.Dispose()
                       'anexo.Dispose();
        End Sub

</script>

 

Share this post


Link to post
Share on other sites

Estou verificando essas propriedades se precisam ser definidas

 

propriedade SmtpClient.DeliveryMethod

smtp.DeliveryMethod = SmtpDeliveryMethod.Network ‘ modo de envio

e tentar colocar o smtp.UseDefaultCredentials = false ‘ para utilizar credencias especificas

Propriedade SmtpClient.UseDefaultCredentials , ela define um valor Boolean que controla se o DefaultCredentials é enviado com solicitações.

Valor da Propriedade

Type: System.Boolean

true se as credenciais padrão forem usadas; caso contrário, false. O valor padrão é false.

Share this post


Link to post
Share on other sites

Olá quintelab... segue:

 

Citar

{"Erro no processamento. A resposta do servidor foi: 4.3.0 <END-OF-MESSAGE>: End-of-data rejected: Conta nao encontrada. Tente novamente em alguns minutos"}

    Data: {System.Collections.ListDictionaryInternal}

    HResult: -2146233088

    HelpLink: Nothing

    InnerException: Nothing

    Message: "Erro no processamento. A resposta do servidor foi: 4.3.0 <END-OF-MESSAGE>: End-of-data rejected: Conta nao encontrada. Tente novamente em alguns minutos"

    Source: "System"

    StackTrace: "   em System.Net.Mail.DataStopCommand.CheckResponse(SmtpStatusCode statusCode, String serverResponse)" & vbCrLf & "   em System.Net.Mail.DataStopCommand.Send(SmtpConnection conn)" & vbCrLf & "   em System.Net.Mail.SmtpConnection.OnClose(Object sender, EventArgs args)" & vbCrLf & "   em System.Net.ClosableStream.Close()" & vbCrLf & "   em System.Net.Mail.MailWriter.Close()" & vbCrLf & "   em System.Net.Mail.SmtpClient.Send(MailMessage message)" & vbCrLf & "   em Sindicato.frmDadosEmail.Button3_Click(Object sender, EventArgs e) na D:\_SISTEMAS\sindicato_sql\frmDadosEmail.vb:linha 204"

    StatusCode: LocalErrorInProcessing {451}

    TargetSite: {Void CheckResponse(System.Net.Mail.SmtpStatusCode, System.String)}

 

 

Porém precisa passar o nome do usuário do serviço SMTP autenticado, Senha do SMTP autenticado, Email de remetente, Senha deste email,  Servidor de Saída;

 

em C# tem essas opções no NetworkCredential, no ASP.Net não estou conseguindo localizar, até verifiquei nas propriedades da classe, abaixo um exemplo em C#

using System;
using System.Net.Mail;
using System.Net;

namespace SmtpLocawebClient
{
  class Program
  {
    static void Main(string[] args)
    {
      string from = ""; // E-mail de remetente cadastrado no painel
      string to = "";   // E-mail do destinatário
      string user = ""; // Usuário de autenticação do servidor SMTP
      string pass = ""; // Senha de autenticação do servidor SMTP

      MailMessage message = new MailMessage(from, to, "SMTP Locaweb Teste", "Eu sou o corpo da mensagem");

      using (SmtpClient smtp = new SmtpClient("smtplw.com.br", 587))
      {
        smtp.Credentials = new NetworkCredential(user, pass);
        smtp.Send(message);
      }

      Console.WriteLine("Mensagem enviada com sucesso!");
      Console.Read();
    }
  }
}

 existe essas opções no NetworkCredential(user, pass) em ASP.Net/VB.Net, passando o user e senha do serviço autenticado.

 

Valeu pela ajuda

Share this post


Link to post
Share on other sites

resolvi assim:

 

Try
            Dim from As String = "**@chospir.com.br"
            Dim [to] As String = "**@hotmail.com"
            Dim user As String = "**"
            Dim pass As String = "**"

            Dim message As MailMessage = New MailMessage(from, [to], "SMTP Teste", "Eu sou o corpo da mensagem")
            Using smtp As SmtpClient = New SmtpClient("smtplw.com.br", 587)
                smtp.Credentials = New NetworkCredential(user, pass)
                smtp.Send(message)
            End Using

            MessageBox.Show("E-mail enviado com sucesso !")

        Catch ex As Exception
            MessageBox.Show("Ocorreram problemas no envio do e-mail. Erro = " & ex.Message)
        End Try

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By ferreiradealmeida
      Prezados(as), boa tarde.
       
      Já trabalhei com webdesign e desenvolvimento frontend, mas faziam anos que não mexia com isso. Hoje sou advogado.
       
      Elaborei uma assinatura para e-mail em HTML, que quando aberta no navegador é exibida corretamente:
       

       
      Ocorre que quando a assinatura é inserida na mensagem (Microsoft Outlook 2016) a disposição dos elementos se mostra desconfigurada, assim permanecendo se a mensagem for enviada:
       

       
      Devem ter notado que a imagem que fica acima das informações é uma imagem de fundo. Já tentei também "background" na <table>, mas neste caso, apesar de aparecer no navegador a imagem sequer aparece na assinatura:
       
      <div style="max-width:716px; max-height:200px; position:relative;"> <img src="http://www.fafadv.com.br/images/assinatura.jpg" alt="imagem-assinatura" /> <div style="position:absolute; top:0px; bottom:0px; left:0px; right:0px;"> <table border="0" cellpadding="0" cellspacing="0" width="716" height="200" style="max-width:716px; max-height:200px;"> <tr> <td rowspan="3" style="width:242px;"></td> <td rowspan="3" style="width:340px; font-family:Gadugi; font-size:14px; padding:5px;"> <p><strong><span style="font-size:18px;">Daniel A. Ferreira de Almeida</span></strong><br> <span style="font-size:16px;">Advogado - OAB/SP 424.237</span></p> <p style="margin-top:-7px;">(16) 9 9373-2552<br> (16) 3421-7783</p> <p style="margin-top:-7px;"><a href="mailto:ferreiradealmeida@fafadv.com.br" style="font-family:Gadugi; font-size:14px; color:#000;"> ferreiradealmeida@fafadv.com.br</a><br> <a href="http://www.fafadv.com.br" style="font-family:Gadugi; font-size:14px; color:#000;">www.fafadv.com.br</a></p> <p style="margin-top:-7px;">Rua Marino Bruno Regini, nº 270, Sala 02<br> Nova Ribeirânia - Ribeirão Preto/SP, CEP 14096-710</p> </td> <td style="width:125px; height:67px; text-align:center;"> <a href="https://www.facebook.com/adv.faf/"> <img src="http://www.fafadv.com.br/images/logo-facebook.png" alt="logo-facebook" style="margin-top:10px;"> </a> </td> </tr> <tr> <td style="width:125px; height:66px; text-align:center;"> <a href="https://www.instagram.com/faf.adv/"> <img src="http://www.fafadv.com.br/images/logo-instagram.png" alt="logo-instagram" style="margin-top:10px;"> </a> </td> </tr> <tr> <td style="width:125px; height:67px; text-align:center;"> <a href="https://www.linkedin.com/company/faf-adv"> <img src="http://www.fafadv.com.br/images/logo-linkedin.png" alt="logo-linkedin" style="margin-bottom:5px;"> </a> </td> </tr> </table> </div> </div> Serei grato se alguém souber o que ocorre e puder colaborar.
       
      Obrigado.
    • By ILR master
      Boa tarde pessoal!
       
      A minha dúvida é a seguinte:
      O script abaixo é de um formulário onde o cliente envia suas dúvidas ou sugestões, mas o email está chegando da seguinte forma:
      orcamentos@portasautomaticasandreluis.com.br - Contato pelo site
      e eu quero que chegue assim:
      André Luis Portas de Enrolar - Contato pelo site
       
      ou seja, no lugar do email quero que seja o nome da empresa.
       
      Será que consegui ser claro?
       
      Segue script que estou usando.
       
      Agradeço desde já!
       
      $atitulo= "Contato pelo site";
      $aemail = "orcamentos@portasautomaticasandreluis.com.br";
      $amsg .= "Olá, Administrador!
      O usuário ".$nome." com o email ".$email.", acabou de enviar a seguinte mensagem:
      ".$mensagem."";
      $amsg = utf8_decode($amsg);

          if (PATH_SEPARATOR ==":") {
              $quebra = "\r\n";
          } else {
              $quebra = "\n";
          }
          $headers = "MIME-Version: 1.1".$quebra;
          $headers .= "Content-type: text/plain; charset=iso-8859-1".$quebra;
          $headers .= "From: orcamentos@portasautomaticasandreluis.com.br".$quebra; //E-mail do remetente
          $headers .= "Return-Path: orcamentos@portasautomaticasandreluis.com.br".$quebra; //E-mail do remetente
          mail($aemail, $atitulo, $amsg, $headers, "-r". "orcamentos@portasautomaticasandreluis.com.br");
          }
    • By clayton.lima2020
      Bom dia!
       
      Pessoal estou com um problema estou tentando enviar um e-mail através de um formulário que criei no site da empresa que eu trabalho, porém na hora de enviar está dando erro.
       
      Obs: a hospedagem do site está na Locaweb
       
      Segue abaixo o erro:
       
      Fatal error: Uncaught Error: Call to undefined function eregi() in /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php:593 Stack trace: #0 /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php(518): PHPMailer->SmtpConnect() #1 /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php(410): PHPMailer->SmtpSend('Date: Sat, 5 Ju...', '--b1_b48d510d23...') #2 /home/storage/2/a8/c3/odontosmilesfran1/public_html/envio-franqueador.php(55): PHPMailer->Send() #3 {main} thrown in /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php on line 593
       
      Segue o código do script de envio:
       

        <? require_once("class.phpmailer.php"); //Nova instância do PHPMailer $mail = new PHPMailer; //Informa que será utilizado o SMTP para envio do e-mail $mail->IsSMTP(); //Informa que a conexão com o SMTP será autênticado $mail->SMTPAuth   = true; //Configura a segurança para SSL $mail->SMTPSecure = "ssl"; $mail->Port       = 465; $mail->Host       = "email-ssl.com.br"; //Usuário para autênticação do SMTP $mail->Username =   "sejaumfranqueado@odontosmilesfranchising.com.br"; //Senha para autênticação do SMTP $mail->Password =   "12345678"; // senha ficticia //Titulo do e-mail que será enviado $mail->Subject  =   "PEDIDO PARA SER UM FRANQUEADOR"; //Preenchimento do campo FROM do e-mail $mail->From = $mail->Username; $mail->FromName = $_POST['nome']; // Nome do remetente //E-mail para a qual o e-mail será enviado $mail->AddAddress("sejaumfranqueado@odontosmilesfranchising.com.br"); //Conteúdo do e-mail //$mail->Body = "Novo contato feito através do site Araújo Imóveis.";      $mail->From     = $_POST['email']; // E-mail do remetente         $mail->Body .= "Modelo de Franquia: ".$_POST['modelo']."<br>";         $mail->Body .= "Nome: ".$_POST['nome']."<br>";     $mail->Body .= "Email: ".$_POST['email']."<br>";      $mail->Body .= "Fone Móvel: ".$_POST['fone']."<br>";     $mail->Body .= "Fone Fixo: ".$_POST['movel']."<br>";     $mail->Body .= "Estado: ".$_POST['estado']."<br>";     $mail->Body .= "Cidade: ".$_POST['cidade']."<br>";           $mail->Body .= "Mensagem: ".nl2br($_POST['mensagem'])."";                        $mail->AltBody = $mail->Body; //Dispara o e-mail $enviado = $mail->Send(); //Imprime sucesso. if($enviado)   echo "<script>alert('Sua mensagem foi enviada com sucesso!')</script>"; echo "<meta http-equiv='refresh' content='2;URL=index.php'>"; ?>  
      Segue o trecho do código do arquivo class.phpmailer.php onde está dando o erro
       

         /* Choose the mailer */     switch($this->Mailer) {       case 'sendmail':         $result = $this->SendmailSend($header, $body);         break;       case 'smtp': [b][color=red]         $result = $this->SmtpSend($header, $body); // nessa linha 410 está dando erro [/color][/b]         break;       case 'mail':         $result = $this->MailSend($header, $body);         break;       default:         $result = $this->MailSend($header, $body);         break;         //$this->SetError($this->Mailer . $this->Lang('mailer_not_supported'));         //$result = false;         //break;     }     return $result;   }   /**   Aqui está outro trecho do código:    /* Retry while there is no connection */     while($index < count($hosts) && $connection == false) {       $hostinfo = array(); [b][color=red]      if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo)) { // aqui está dando erro linha 593[/color][/b]         $host = $hostinfo[1];         $port = $hostinfo[2];       } else {         $host = $hosts[$index];         $port = $this->Port;       }       $tls = ($this->SMTPSecure == 'tls');       $ssl = ($this->SMTPSecure == 'ssl');       if($this->smtp->Connect(($ssl ? 'ssl://':'').$host, $port, $this->Timeout)) {         $hello = ($this->Helo != '' ? $this->Hello : $this->ServerHostname());         $this->smtp->Hello($hello);         if($tls) {           if(!$this->smtp->StartTLS()) {             $this->SetError($this->Lang("tls"));             $this->smtp->Reset();             $connection = false;           }           //We must resend HELLO after tls negociation           $this->smtp->Hello($hello);         }         $connection = true;         if($this->SMTPAuth) {           if(!$this->smtp->Authenticate($this->Username, $this->Password)) {             $this->SetError($this->Lang('authenticate'));             $this->smtp->Reset();             $connection = false;           }         }       }       $index++;     }     if(!$connection) {       $this->SetError($this->Lang('connect_host'));     }     return $connection;   }    

      Obrigado a todos que puderem ajudar
       
       
    • By alisonalves
      Olá pessoal. Fiz um domínio pela locaweb e estou querendo apontar o serviço de email para a umbler. Fiz a alteração lá no DNS mas não está funcionando. Alguém pode me ajudar?
       
      Coloquei assim "v=spf1 include:_spf.locaweb.com.br include:spf.umbler.com ?all". 
       
      Será que coloquei algo errado?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.