PHP sur GoDaddy Linux Partagé essayer de l'envoyer via SMTP de GMAIL

J'ai essayé TOUS les scripts/code/méthode posté sur StackOverflow et d'autres sites pour ça, mais avec pas de chance. Je suis d'hébergement sur GoDaddy. J'ai le programme d'installation de Google App compte, configurer tout ce qui est nécessaire pour les Enregistrements MX (à l'aide de la GoDaddy outil pour ça), et même essayé d'envoyer quelques e-mails à partir de l'interface de GMAIL pour mon site, ainsi que par le SMTP dans le terminal sur une de mes machines unix. Tout a fonctionné.

CEPENDANT, lorsque je tente à l'aide de PHP, il n'est pas! Est-il comme GoDaddy blocage d'une certaine façon?

Je reçois toujours:

SMTP -> ERREUR: impossible de se connecter à
serveur: Connexion refusée (111) SMTP
Erreur: impossible de se connecter à l'hôte SMTP.
Mailer Erreur: Erreur SMTP: ne Peut pas
se connecter à l'hôte SMTP.

Voici le code que j'utilise pour PHPMailer:

<html>
    <head>
        <title>PHPMailer - SMTP (Gmail) advanced test</title>
    </head>
    <body>
    <?php
    require_once('../class.phpmailer.php');
    //include("class.smtp.php"); //optional, gets called from within class.phpmailer.php if not already loaded

    $mail = new PHPMailer(true); //the true param means it will throw exceptions on errors, which we need to catch

    $mail->IsSMTP(); //telling the class to use SMTP

    try {
        $mail->Host       = "smtp.gmail.com"; //SMTP server
        $mail->SMTPDebug  = 2;                     //enables SMTP debug information (for testing)
        $mail->SMTPAuth   = true;                  //enable SMTP authentication
        $mail->SMTPSecure = "ssl";                 //sets the prefix to the servier
        $mail->Host       = "smtp.gmail.com";      //sets GMAIL as the SMTP server
        $mail->Port       = 465;                   //set the SMTP port for the GMAIL server
        $mail->Username   = "MYFROMADDRESSHERE";  //GMAIL username
        $mail->Password   = "MYFROMPASSWORDHERE";            //GMAIL password
        $mail->AddReplyTo('MYFROMADDRESSHERE', 'Sender Name');
        $mail->AddAddress('TESTTOADDRESSHERE', 'Recipient Name');
        $mail->SetFrom('MYFROMADDRESSHERE', 'Sender Name');
        $mail->AddReplyTo('MYFROMADDRESSHERE', 'Sender Name');
        $mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
        $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; //optional - MsgHTML will create an alternate automatically
        $mail->MsgHTML(file_get_contents('contents.html'));
        $mail->AddAttachment('images/phpmailer.gif');      //attachment
        $mail->AddAttachment('images/phpmailer_mini.gif'); //attachment
        $mail->Send();
        echo "Message Sent OK</p>\n";
    } catch (phpmailerException $e) {
        echo $e->errorMessage(); //Pretty error messages from PHPMailer
    } catch (Exception $e) {
        echo $e->getMessage(); //Boring error messages from anything else!
    }
    ?>
</html>

Merci!

Moyen facile de tester, si vous avez un accès shell: connectez-vous au serveur, et d'essayer "telnet smtp.gmail.com 465". Vous ne serez pas en mesure de faire le SSL trucs, mais si il y a un problème de firewall, vous obtiendrez "connexion refusée". Si il se connecte puis se bloque pour l'entrée, ce n'est pas un pare-feu et c'est quelque chose avec votre code.
Je n'ai pas de COQUILLE activé sur ce serveur, et il faut 48 heures pour l'activer; nécessité de résoudre ce dans un délai de quelques heures. Toutes les autres suggestions?

OriginalL'auteur johnshaddad | 2011-03-26