2010-08-20 5 views
2

Im face à un problème étrange .. iv écrit quelques codes sur l'envoi de mails en utilisant google smtp, yahoo smtp, et aol smtp en php. ça fonctionne bien. mais lorsque j'essaie d'exécuter les mêmes codes sur un serveur et un domaine différents, il me donne l'erreur suivante:même programme ne fonctionne pas sur un serveur différent

Erreur SMTP: Impossible de se connecter à l'hôte SMTP.

des solutions?

+0

Ce serveur peut-il voir l'hôte SMTP via la ligne de commande (ping, ftp, telnet etc.)? – ChrisF

+0

comment puis-je vérifier cela ?? – chill

+0

Plus d'infos? La connexion réseau et la résolution de noms DNS fonctionnent-elles? Quelle est la version de PHP, le logiciel serveur et la version, les détails de configuration de PHP, et ainsi de suite ... Les boules de cristal sont assez chères de nos jours ... –

Répondre

1

Très probablement, vous n'êtes pas autorisé à vous connecter au port 25. Vérifiez auprès de l'hébergeur quel serveur SMTP utiliser pour le courrier sortant.

+0

im n'utilisant pas le port 25 – chill

+0

Ils peuvent avoir bloqué tous les ports sortants. Il est de pratique courante de laisser sortir le trafic contrôlé d'un environnement d'hébergement Web. –

0
<?php 
require_once('class.phpmailer.php'); 
require_once 'Excel/reader.php'; 
//$myid=$_REQUEST['myid']; 
//$mypass=$_REQUEST['mypass']; 
//$msg=$_REQUEST['msg']; 
define('GUSER', '[email protected]'); // Gmail username 
define('GPWD', 'pass'); // Gmail password 
function smtpmailer($to, $from, $from_name, $subject, $body) { 
    global $error; 
    $mail = new PHPMailer(); // create a new object 
    $mail->IsSMTP(); // enable SMTP 
    $mail->SMTPDebug = 0; // debugging: 1 = errors and messages, 2 = messages only 
    $mail->SMTPAuth = true; // authentication enabled 
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail 
    $mail->Host = 'smtp.aol.com'; 
    $mail->Port = 465; 
    //$mail->AddAttachment('upload/logo.png', 'logo.png'); 
    $mail->Username = GUSER; 
    $mail->Password = GPWD;   
    $mail->SetFrom($from, $from_name); 
    $mail->IsHTML(true); // send as HTML 
    $mail->Subject = "This is the subject"; 
    //$mail->MsgHTML(file_get_contents('test.html')); 

    $mail->Body = $body; 
    $mail->AddAddress($to); 
    if(!$mail->Send()) { 
     $error = 'Mail error: '.$mail->ErrorInfo; 
     return false; 
    } else { 
     $error = 'Message sent!'; 
     return true; 
    } 
} 
    // initialize reader object 
    $excel = new Spreadsheet_Excel_Reader(); 

    // read spreadsheet data 
    $excel->read('Book1.xls');  
    // iterate over spreadsheet cells and print as HTML table 
    $x=1; 
    while($x<=$excel->sheets[0]['numRows']) { 
     $y=1; 
     while($y<=$excel->sheets[0]['numCols']) { 
     $cell = isset($excel->sheets[0]['cells'][$x][$y]) ? $excel->sheets[0]['cells'][$x][$y] : ''; 


smtpmailer($cell, '[email protected]', 'name', 'Subject', 'trying the aol'); 
     $y++; 
    } 
     $x++; 
    } 
?> 
+0

Vous auriez dû éditer votre question plutôt que de poster une réponse – ChrisF

+0

ya vrai !! mais plzz donne moi une solution .. – chill

Questions connexes