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:<?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 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.