2014-10-11 16 views
8

Ci scusiamo se si tratta di una strada molto trafficata. Ho visto gli altri post su questo, ma niente in loro ha risolto il problema che ho riscontrato o acceso una lampadina che mi ha aiutato a risolverlo da solo.ERRORE SMTP: Impossibile connettersi al server: Connessione rifiutata (111) con Office365

Ecco il mio codice:

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(); 
} 

Ho confermato che il dominio, nome utente e password sono tutti corretti e di essere passato in modo corretto. Importante notare che questo ha funzionato sul nostro server di sviluppo locale prima del lancio. Una volta che il sito è stato spostato sul nostro account di hosting (Hostgator) si verifica quando ha smesso di funzionare. Ho confermato con HG che la porta 587 è aperta sul nostro server.

Ecco il messaggio di errore che sto vedendo:

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. 

Tutto l'aiuto che può essere fornita è molto apprezzato, anche se è solo un link ad un articolo che spiega il motivo per cui non funzionerà ora che è nel nostro ambiente di produzione.

+0

Questo è già stato discusso su github, quindi risponderò [laggiù] (https://github.com/PHPMailer/PHPMailer/issues/295). – Synchro

+0

Grazie, @Synchro! –

risposta

0

Si scopre che HG aveva bisogno di modificare le impostazioni del firewall sul nostro server. Una volta fatto ciò, ha funzionato alla grande. Quindi, se stai riscontrando un problema simile, ti consiglio di assicurarti che tutto sia corretto sulla tua parte, ma poi di verificare con il tuo provider di hosting per vedere cosa deve essere fatto alla loro fine.

1

In PHP 5.5 e phpmailer c'è un bug con il numero di porta. Non impostare il numero di porta (mail-> porta = ....) questo causa l'errore: "Errore smtp non è riuscito a connettersi alla connessione server rifiutata 111"

Lasciare al numero di porta predefinito di 25 e lavori !

4

Nessuna delle risposte ha funzionato per me. Dopo molte ore, ho trovato il problema, ma funziona solo per Cpanel/WHM

  • Accesso in WHM.
  • Vai a ConfigServer Security & Opzione firewall all'interno dei plug-in.
  • Cliccare sulla configurazione del firewall
  • Filtra per impostazioni SMTP
  • Cercare opzione SMTP_ALLOWUSER e aggiungere il nome utente dell'account Cpanel separati da coma
  • Riavviare il firewall.

Se non si dispone di accesso a WHM chiedere al proprio provider.

+1

Disabilita le Restrizioni SMTP in cpanel WHM. Lavorato! – Jerald

+1

Hey - Grazie per questo sapevo che questo doveva essere un problema relativo al server. CSF era il colpevole. – limit

+0

Grazie! Aggiungerò che ho seguito le tue istruzioni, ma ho anche dovuto cambiare SMTP_BLOCK a OFF, perché è attivo per impostazione predefinita e blocca il SMTP in uscita tranne root, exim e mailman. – Rosamunda

0

Se si utilizza cPanel/WHM è necessario assicurarsi che:

Limita SMTP in uscita alla radice, exim, e postino (FKA SMTP Tweak) - è impostato su OFF. (Può essere modificato all'interno di "Configurazione server» Impostazioni Tweak "(Cerca: SMTP))

Se si dispone anche del Firewall ConfigServer Security &, è necessario modificare la configurazione del firewall. Fare clic su "Configura firewall", quindi selezionare "Filtra per impostazioni SMTP". Ora cerca l'opzione SMTP_ALLOWUSER e aggiungi il nome utente dell'account cPanel separato dal coma. Hit "Cambia" e quindi riavviare il firewall.

Problemi correlati