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

PHPMailer com Hotmail e Gmail


ethereal

Pergunta

Estou implementando um .php com PHPMailer que envie email para gmail e hotmail. Eu consegui enviar com a porta 465 para o gmail e depois tentei a 587 para hotmail sem sucesso. Então modifiquei o código escrevendo um explode para lidar com a divergência de portas porém agora obtenho o erro:

Invalid address: SMTP -> ERROR: Failed to connect to server: Connection refused (111) 
SMTP Error: Could not connect to SMTP host.
Error Information:
SMTP Error: Could not connect to SMTP host.
Ao tentar enviar para hotmail ou gmail. As variáveis $hotmailUser, $hotmailPass e as equivalentes para gmail são obtidas de mailAccess.php As variáveis mencionadas acimas são as minhas credenciais de hotmail e gmail respectivamente. A variável $email foi obtida de outro script no qual este está incluido. Segue o código:
<?php
    
    require("../phpmailer/class.phpmailer.php");
    include ("../../mailaccess.php");
    
    $token = explode('@', $email);
    $domain = $token[1];
    
    if(strcmp($domain, "hotmail.com") == 0)
    {
      $mail->Port = 587;
      $mail->Host = "smtp.live.com";
      $mail->Username = $hotmailUser;
      $mail->Password = $hotmailPass;  
    }     
    
    else if(strcmp($domain, "gmail.com") == 0) 
    {
      $mail->Port = 465;
      $mail->Host = "smtp.googlemail.com";
      $mail->Username = $gmailUser;
      $mail->Password = $gmailPass;   
    }     
    
    $mail = new PHPMailer();
    $mail->IsSMTP(); 
    $mail->SMTPAuth = true; 
    $mail->SMTPSecure = "ssl";
    $mail->From = $mail->Username; 
    $mail->FromName = "ethereal"; 
    $mail->AddReplyTo($mail->Username, "ethereal");
    $mail->AddAddress($email);
    $mail->IsHTML(true); 
    $mail->Subject  = "Site Credentials"; 
    $mail->Body = "<p>Thank you for being part of our website.</p>
                   <p>Username: ".$name."<br />
                      Password: ".$pass."</p>";
    $mail->CharSet = 'UTF-8';
    $mail->AltBody = $mail->Body; 
    $mail->SMTPDebug = 2;
    $sent = $mail->Send();
    $mail->ClearAllRecipients();
    $mail->ClearAttachments();
    if ($sent) {
    echo "An email was sent to you with your credentials.";
    } else {
    echo "It wasn't possible to send an email to you with your login data.<br /><br />";
    echo "<b>Error Information:</b><br />" . $mail->ErrorInfo;
    }
    //$mail->AddCC('ciclano@site.net', 'Ciclano'); // copy
    //$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Hidden copy
    //$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf"); 
    // Message subject
 ?>

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

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,2k
    • Posts
      652k
×
×
  • Criar Novo...