2010-11-16 13 views
1

Je suis en train d'envoyer du courrier via mon compte gmail à partir d'un serveur dédié GoDaddy. J'ai essayé d'envoyer un courriel via le serveur de messagerie de mon entreprise, mais Godaddy tue le port 25 sans solution de contournement (grrr).incapable d'envoyer par e-mail gmail avec le courrier de poire php()

J'ai cherché haut et bas pour une solution à ce including here mais je suis incapable d'envoyer des e-mails. Je reçois toujours une erreur «Authentification requise» de Google.

Voici le code que j'utilise pour envoyer l'e-mail:

include("Mail.php"); 

/* mail setup recipients, subject etc */ 

$headers["From"] = "[email protected]"; 
$headers["to"] = "[email protected]"; 
$headers["subject"] = "User feedback"; 
$mailmsg = "Hello, This is a test."; 

/* SMTP server name, port, user/passwd */ 

$smtpinfo["host"] = "ssl://smtp.gmail.com"; 
$smtpinfo["port"] = 465;  
$smtpinfo["auth"] = true;  
$smtpinfo["username"] = "[email protected]"; 
$smtpinfo["password"] = "xxxxxx"; 
$smtpinfo["debug"] = true; 

/* Create the mail object using the Mail::factory method */ 

// $mail_object =& Mail::factory("smtp", $smtpinfo); 
// EDIT -- removed reference 


$mail_object = Mail::factory("smtp", $smtpinfo); 

/* Ok send mail */ 

$result = $mail_object->send($recipients, $headers, $mailmsg); 

if(PEAR::isError($result)) 
{ 
echo "\nerror sending mail: ".PEAR_Error::getCode().' '.PEAR_Error::getMessage(); 
} 
else  
echo "\nSuccessfully sent mail."; 

Voici la réponse du courrier de poire:

DEBUG: Recv: 250-mx.google.com at your service, [208.109.190.226] 
DEBUG: Recv: 250-SIZE 35651584 
DEBUG: Recv: 250-8BITMIME 
DEBUG: Recv: 250-AUTH LOGIN PLAIN XOAUTH 
DEBUG: Recv: 250 ENHANCEDSTATUSCODES 
DEBUG: Send: MAIL FROM:<[email protected]> 

DEBUG: Recv: 530-5.5.1 Authentication Required. Learn more at 
DEBUG: Recv: 530 5.5.1 http://mail.google.com/support/bin/answer.py?answer=14257 t35sm1037116qco.30 

Fatal error: Using $this when not in object context in /usr/share/php/PEAR.php on line 970 

Toute aide est grandement appréciée.

+0

est-il votre compte GMail défini pour permettre POP3? – drudge

+0

la différence que je place, est l'utilisation de références, supprimer les références, et essayer à nouveau? – ajreal

+0

@jnpcl oui, mon compte a pop3 activé – Patrick

Répondre

1

La solution est ... il n'y a pas de solution depuis GoDaddy a fait bloquer. Pas moyen de contourner le problème et j'ai fini par utiliser leur serveur de distribution de courrier 'approuvé'. grrr.

0

Le problème est le code suivant:

PEAR_Error::getCode().' '.PEAR_Error::getMessage(); 

Utilisez

$result->getMessage() 

et

$result->getCode()