Ir para conteúdo
Fórum Script Brasil
  • 0

SMTP AUTH


Thiago Top

Pergunta

Estou procurando uma funcao que que envi email, algo como

SMTP AUTH, alguém tem ela ai?

achei algo assim:

$mail->IsSMTP();                                      // set mailer to use SMTP
$mail->Host = "smtp.xxxx.com";  // specify main and backup server
$mail->SMTPAuth = true;     // turn on SMTP authentication
$mail->Username = "user";  // SMTP username
$mail->Password = "senha"; // SMTP password

Eu já achei varios por ai, mas não entendi nada, e sinceramente, não sei como fazer um completinho, apenas para enviar e-mail e autenticar via SMTP.

Desde já, obrigado.

[]s, Thiago

Editado por Thiago Top
Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0
Estou procurando uma funcao que que envi email, algo como

SMTP AUTH, alguém tem ela ai?

achei algo assim:

$mail->IsSMTP();                                      // set mailer to use SMTP
$mail->Host = "smtp.xxxx.com";  // specify main and backup server
$mail->SMTPAuth = true;     // turn on SMTP authentication
$mail->Username = "user";  // SMTP username
$mail->Password = "senha"; // SMTP password

Eu já achei varios por ai, mas não entendi nada, e sinceramente, não sei como fazer um completinho, apenas para enviar e-mail e autenticar via SMTP.

Desde já, obrigado.

[]s, Thiago

Cara,

Depende muito de como você vai usar?

pois para usar você tem que entender o minimo, para poder configurar

Valeu... mas se quiser eu tenho um legal...

abços.

Link para o comentário
Compartilhar em outros sites

  • 0

É o seguinte, eu tenho um servidor web que tem uma pagina em PHP, esta pagina envia e-mail para um servidor de email, eu gostaria de saber como eu configuro o send_mail no PHP.INI para que

eu escolha o email utilizado para enviar estes e-mails ou então, um script para o envio de e-mails com autenticacao SMTP.

Clareou alguma coisa ai?

[]s, Thiago

Link para o comentário
Compartilhar em outros sites

  • 0
Guest byteimpar

Olá Thiago!

Estou começando agora com PHP e OSCommerce mas acho que já dá pra dar uma mãozinha. Ontem mesmo eu tava implementando isso aqui pra minha loja e como a mesma tá configurada como 'localhost' eu não conseguia enviar e-mail.

Pra solucionar, baixe o phpmailer no link abaixo e descompacte o arquivo. Na pasta docs, você verá inclusive um txt de como configurar pro GMail, que é o meu caso, mas que poderá ser adaptado para suas necessidades.

http://sourceforge.net/projects/phpmailer

Arquivos a serem copiados:

class.phpmailer.php

class.smtp.php

Pastas de destino:

/sualoja/admin/includes/classes - (class.phpmailer.php e class.smtp.php )

/sualoja/includes/classes - (class.phpmailer.php e class.smtp.php )

Alterar os arquivos email.php em cada uma das pastas.

Procure a sequencia de codigo abaixo, aqui começa na linha 520.

if (EMAIL_TRANSPORT == 'smtp') {

return mail($to_addr, $subject, $this->output, 'From: ' . $from . $this->lf . 'To: ' . $to . $this->lf . implode($this->lf, $this->headers) . $this->lf . implode($this->lf, $xtra_headers));

} else {

return mail($to, $subject, $this->output, 'From: '.$from.$this->lf.implode($this->lf, $this->headers).$this->lf.implode($this->lf, $xtra_headers));

}

}

Substitua por:

if (EMAIL_TRANSPORT == 'smtp') {

require_once(DIR_WS_CLASSES . "class.phpmailer.php");

$pMail = new PHPMailer();

$pMail->From = $from_addr;

$pMail->FromName = $from_name;

$pMail->IsSMTP();

$pMail->SMTPAuth = true; // enable SMTP authentication

$pMail->SMTPSecure = "ssl"; // sets the prefix to the servier

$pMail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server

$pMail->Port = 465; // set the SMTP port

$pMail->Username = "seu_email@gmail.com"; // GMAIL username

$pMail->Password = "sua_senha"; // GMAIL password

$pMail->Subject = $subject;

$pMail->Body = $this->output; //HTML Body

$pMail->WordWrap = 50; // set word wrap

$pMail->AddAddress($to_addr, $to_name);

// $pMail->IsHTML(true); //Estou usando desabilitado mesmo, mas estou fazendo testes

return $pMail->Send();

$pMail->ClearAddresses();

$pMail->ClearAttachments();

} else {

return mail($to, $subject, $this->output, 'From: '.$from.$this->lf.implode($this->lf, $this->headers).$this->lf.implode($this->lf, $xtra_headers));

}

}

É só isso! Aqui esta funcionando direitinho. Estou usando uma cópia da loja baixada em OMeuNuke.

Espero que isso seja a solução pro seu problema.

Abraços,

byteimpar

Link para o comentário
Compartilhar em outros sites

  • 0
Guest byteimpar

Poxa Thiago! Respondi sem ter lido a segunda msg. Como tenho visto, comido e sonhado com os problemas de configuração do OSCommerce e o código acima é bastante parecido logo pensei nisso. Mas pelo jeito não é para o OSCommerce que você tá usando.

De qualquer forma, é PHP, e esta solução poderá ser usada por você, além do que, o phpmailer vem com alguns docs e exemplos. Espero que seja a solução pro seu problema.

Abraços,

byteimpar

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal,

eu sou administrador de um sistema no qual possui um banco de dados(MySQL) com usuarios cadastrados, e uma pagina em php na qual esses usuarios podem abrir suas solicitacoes.

A cada solicitacao respondida para o usuario este script em PHP vai no banco de dados e coleta o e-mail cadastrado e envia, o problema é que o PHP esta usando o sendmail e eu não consigo capturar/descobrir o email utilizado por ele para enviar essas respostas.

então, o que eu quero fazer:

- forcar autenticacao SMTP no meu script, mas não estou conseguindo interagir a parte do codigo

que chama o email no banco, com o envio da mensagem.

Segue abaixo o codigo:

//autenticacao smtp
require("class.phpmailer.php");

$mail = new PHPMailer();
$mail->IsSMTP();                               
$mail->Host = "smtp.dominio.com.br"; 
$mail->SMTPAuth = true;   
$mail->Username = "USUARIO";  
$mail->Password = "SENHA";
$mail->From = "EMAIL_REMETENTE@EMAIL.COM.BR";
$mail->FromName = "Solicitacao";
$mail->AddAddress("emaildestino@email.com.br", "nome");

if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

//O codigo abaixo envia um e-mail para o usuario que abriu a solicitacao
        $strSQL = "SELECT email FROM usuarios WHERE login = '" . $campo_chamado["login_user"] . "'";
        $rsEmailUsuario = mysql_query($strSQL, $Conexao) or die("não foi possivel recuperar o e-mail do usuario!");
        if (mysql_num_rows($rsEmailUsuario)) {
          $campo_usuario = mysql_fetch_array($rsEmailUsuario);
          $corpo = "Sua solicitacao #$id foi atendida:\n\n";
          $corpo .= "Descricao informada na abertura da solicitacao:\n";
          $corpo .= stripslashes($campo_chamado["desc_cham"]) . "\n\n\n";
          $corpo .= "Dados do atendimento:\n\n";
          $corpo .= "Atendida em: " . date("d/m/Y H:i:s") . " por " . $_SESSION["login"] . "\n\n";
          if ($obs) {
            $corpo .= "Observacoes tecnicas:\n";
            $corpo .= "$obs\n\n";
          }
          $corpo .= "--------------------------------------------------------------------\n";
          $corpo .= "Mensagem automatica";
          if ($_SESSION["email"]) {
            $fromname = ucfirst(strtolower($_SESSION["login"]));
                $from = $_SESSION["email"];
          }
          else {
            $fromname = "Sistema de Solicitacoes";
            $from = "email_segunda_opcao@email.com.br";
          }
          send_mail($campo_usuario["email"], "Confirmacao de atendimento no Sistema de Solicitacoes ", $corpo, $fromname, $from);

Eu gostaria de juntar a parte que envia email com autenticacao smtp com a parte que busca o email do usuario no banco de dados. Espero ter esclarecidos.

Desde já, obrigado.

[]s, Thiago Silva

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...