web-dev-qa-db-fra.com

ERREUR SMTP: échec de la connexion au serveur: connexion refusée (111) avec Office365

Désolé si c'est une route très fréquentée. J'ai lu les autres articles à ce sujet, mais rien dans ceux-ci n'a résolu le problème que j'ai ou créé une ampoule qui m'a aidé à le résoudre moi-même.

Voici mon code:

require 'PHPMailerAutoload.php';
$config = parse_ini_file('/path/to/file/config.ini', true);
$mail = new PHPMailer;
$mail->SMTPDebug = 3;
$mail->Debugoutput = 'html';
$mail->isSMTP();
$mail->Host = $config['Host']; //smtp.office365.com
$mail->SMTPAuth = true;
$mail->Username = $config['username']; //[email protected]
$mail->Password = $config['password']; //confirmed this is being passed correctly
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->From = $config['username'];
$mail->FromName = 'Website Forms';
$mail->addAddress('[email protected]', 'Some Name');
$mail->addReplyTo('[email protected]', 'SenderFirst SenderLast');
$mail->addBCC('[email protected]');
$mail->isHTML(true);
$mail->Subject = 'Contact Form Submission';
$mail->Body = 'Some html here';
$mail->AltBody = 'Some alt content here';
if(!$mail->send()) {
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    //perform success actions
    exit();
}

J'ai confirmé que le domaine, le nom d'utilisateur et le mot de passe sont tous corrects et correctement transmis. Il est important de noter que cela a fonctionné sur notre serveur de développement local avant le lancement. Une fois que le site a été transféré sur notre compte d'hébergement (Hostgator), il a cessé de fonctionner. J'ai confirmé avec HG que le port 587 est ouvert sur notre serveur.

Voici le message d'erreur que je vois:

Connection: opening to smtp.office365.com:587, t=10, opt=array ()
SMTP ERROR: Failed to connect to server: Connection refused (111)
SMTP connect() failed.
Message could not be sent.Mailer Error: SMTP connect() failed.

Toute aide pouvant être fournie est très appréciée, même s’il s’agit simplement d’un lien vers un article qui explique pourquoi cela ne fonctionne pas, maintenant que c’est dans notre environnement de production.

8
Neal Williams

Aucune des réponses n’a fonctionné pour moi… .. Après de nombreuses heures, j’ai trouvé le problème, mais ne fonctionne que pour Cpanel/WHM

  • Connectez-vous à WHM. 
  • Accédez à l'option ConfigServer Security & Firewall inside plugins.
  • Cliquez sur Configuration du pare-feu
  • Filtrer par paramètres SMTP
  • Recherchez l'option SMTP_ALLOWUSER et ajoutez le nom d'utilisateur du compte Cpanel, séparé par un virgule.
  • Redémarrez le pare-feu.

Si vous n'avez pas accès à WHM, demandez à votre fournisseur.

6
kmiloangel

Dans PHP 5.5 et phpmailer, il y a un bogue avec le numéro de port. Ne définissez pas le numéro de port (mail-> port = ....), l'erreur suivante s’affiche:

Laissez-le au numéro de port par défaut de 25 et cela fonctionne!

2
vundek

Si vous utilisez cPanel/WHM, vous devez vous assurer que:

Limiter le SMTP sortant à root, exim et mailman (FKA SMTP Tweak) - est défini sur OFF. (Ceci peut être édité dans "Configuration du serveur» Paramètres de réglage "(Recherche: SMTP))

Si vous avez également activé ConfigServer Security & Firewall, vous devrez modifier votre configuration de pare-feu. Cliquez sur "Configuration du pare-feu" puis choisissez "Filtrer par paramètres SMTP". Recherchez maintenant l'option SMTP_ALLOWUSER et ajoutez le nom d'utilisateur du compte cPanel, séparé par un virgule. Appuyez sur "Modifier" puis redémarrez le pare-feu.

0
DigitalFlare

Il s'est avéré que HG avait besoin de modifier les paramètres du pare-feu sur notre serveur. Une fois qu'ils ont fait cela, cela a très bien fonctionné. Donc, si vous rencontrez un problème similaire, je vous conseillerais de vous assurer que tout est correct, mais ensuite de vérifier auprès de votre fournisseur d'hébergement pour voir ce qui doit être fait de son côté.

0
Neal Williams