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
?>
Pergunta
ethereal
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:
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: Editado por etherealLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.