2010-10-24 12 views
1

J'utilise PHPMailer pour envoyer des emails via SMTP sur un serveur partagé (mon service d'hébergement est Softsys). Le courrier électronique est bien envoyé aux adresses e-mail sur le même serveur (c'est-à-dire que le @ domaine est mon domaine Web). Cependant, lorsque je tente de changer le destinataire à @gmail (ou toute adresse externe) je reçois le journal d'erreur suivant:PHPMailer Erreur SMTP 550

SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "550 <[email protected]> No such user here" 
SMTP -> get_lines(): $data is "550 <[email protected]> No such user here" 
SMTP -> FROM SERVER:550 <[email protected]> No such user here 
SMTP -> ERROR: RCPT not accepted from server: 550 <[email protected]> No such user here 
SMTP -> get_lines(): $data was "" 
SMTP -> get_lines(): $str is "250 OK" 
SMTP -> get_lines(): $data is "250 OK" 
SMTP -> FROM SERVER: 250 OK 
Message could not be sent. 
Mailer Error: SMTP Error: The following recipients failed: [email protected] 

Est-ce un problème avec mon serveur ou mon code? Devrais-je simplement contacter mon administrateur de serveur? Merci d'avance pour toute aide!

Voici mon code

require("class.phpmailer.php"); 
$mail = new PHPMailer(); 

$mail->IsSMTP(); 
$mail->Host = "mail.mywebsite.com"; 
$mail->SMTPAuth = true; 
$mail->Username = "myemail"; 
$mail->Password = "********"; 
$mail->From = "[email protected]"; 
$mail->FromName = "John Doe"; 
$mail->AddAddress("[email protected]");  

$mail->IsHTML(true); 

$mail->Subject = "Here is the subject"; 
$mail->Body = "This is the HTML message body <b>in bold!</b>"; 
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; 

if(!$mail->Send()) 
{ 
    echo "Message could not be sent. <p>"; 
    echo "Mailer Error: " . $mail->ErrorInfo; 
    exit; 
} 

echo "Message has been sent"; 

Répondre

0

Vous avez accès au shell vous pour votre compte? Ensuite, vous pouvez vérifier certaines choses comme l'enregistrement MX que vous obtenez avec la commande «dig mx gmail.com». Si non, le meilleur moyen est de vous contacter Hoster. Je suppose que quelqu'un sur le même serveur a configuré le domaine gmail.com. Je suppose qu'ils utilisent exim comme MTA (à cause de la réponse du message). Il se peut que exim essaie de résoudre son propre hôte = livraison locale en raison d'un domaine gmail.com sur le serveur. Avez-vous essayé d'autres domaines/adresses e-mail?

0

Si vous essayez d'envoyer des e-mails à gmail, gmail indique que [email protected] n'existe pas, essayez d'utiliser [email protected] (suppression des majuscules). Sinon, essayez d'utiliser un courriel que vous connaissez vraiment.