2011-06-10 15 views
9

का उपयोग कर मेरी होस्टिंग में काम नहीं कर रहा है मैं पंजीकृत ईमेल पर उपयोगकर्ता जानकारी भेजने के लिए जीमेल smtp का उपयोग करना चाहता हूं।जीमेल smtp कोडिंगर फ्रेमवर्क

मैं जिस कोड का उपयोग कर रहा हूं वह मेरे लोकहोस्ट में ठीक काम कर रहा है, लेकिन जब मैं साझा होस्टिंग में बदल गया तो यह नीचे दी गई त्रुटि के साथ आ गया।

A PHP Error was encountered 
Severity: Warning 

Message: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.googlemail.com:465 (Connection timed out) 

Filename: libraries/Email.php 

Line Number: 1652 

A PHP Error was encountered 
Severity: Warning 

Message: fwrite(): supplied argument is not a valid stream resource 

Filename: libraries/Email.php 

Line Number: 1795 

.... (more error msg here) 

An Error Was Encountered 
The following SMTP error was encountered: 110 Connection timed out 
Unable to send data: AUTH LOGIN 
Failed to send AUTH LOGIN command. Error: 
Unable to send data: MAIL FROM: 


from: 
The following SMTP error was encountered: 
Unable to send data: RCPT TO: 

to: 
The following SMTP error was encountered: 
Unable to send data: DATA 

.... (more error msg here) 

यहाँ मेरा ईमेल config

$pass = $this->generatePassword('6'); 

$config = Array(
    'protocol' => 'smtp', 
    'smtp_host' => 'ssl://smtp.googlemail.com', 
    'smtp_port' => 465, 
    'smtp_timeout'=>'30', 
    'smtp_user' => '[email protected]', 
    'smtp_pass' => 'mypassword', 
    'mailtype' => 'html', 
    'charset' => 'iso-8859-1' 
); 
$this->load->library('email', $config); 
$this->email->set_newline("\r\n"); 

$this->email->from('[email protected]','Title'); 
$this->email->to($this->input->post('email')); 

$this->email->subject('Subject here'); 
$this->email->message('Your login username is '.$this->input->post('username').'<br/>'.'Password is '.$pass); 

if (!$this->email->send()){ 
    show_error($this->email->print_debugger()); 
}else{ echo 'YEAH!!!';} 

मैं मेरे हिस्से की मेजबानी openssl सक्षम है या नहीं है कि क्या जांच करने के लिए प्रयास करें। और मैं इस

openssl OpenSSL समर्थन सक्षम
OpenSSL संस्करण OpenSSL 0.9.8e-FIPS-RHEL5 01 जुला 2008

openssl सक्षम है, तो मिल गया। अभी भी मेरे कोड में गलती क्या होगी?

मैं अपने स्थानीयहोस्ट को विकसित करने के लिए निराश होना शुरू करता हूं और जब इसे होस्ट करने के लिए अपलोड किया जाता है, तो यह बहुत सारी समझ में आता है।

किसी भी मदद की सराहना की जाएगी !! उन्नत

उत्तर

15

साझा होस्टिंग में आपका एसएसएल पोर्ट बंद है, यह कोड देखने के लिए इस कोड का उपयोग करें कि यह खुला है या नहीं।

$fp = fsockopen("www.google.com", 80, &$errno, &$errstr, 10); // work fine 
if (!$fp) 
    echo "www.google.com - $errstr ($errno)<br>\n"; 
else 
    echo "www.google.com - ok<br>\n"; 


$fp = fsockopen("smtp.gmail.com", 465, &$errno, &$errstr, 10); // NOT work 
if (!$fp) 
    echo "smtp.gmail.com 465 - $errstr ($errno)<br>\n"; 
else 
    echo "smtp.gmail.com 465 - ok<br>\n"; 


$fp = fsockopen("smtp.gmail.com", 587, &$errno, &$errstr, 10); // NOT work 
if (!$fp) 
    echo "smtp.gmail.com 587 - $errstr ($errno)<br>\n"; 
else 
    echo "smtp.gmail.com 587 - ok<br>\n"; 
+1

हाय, आपके उत्तर के लिए tq। मैंने अभी अपने साझा होस्टिंग प्रदाता से पूछा। और उन्होंने कहा कि उन्होंने पोर्ट 465 को सक्षम नहीं किया है, और अब वे इसे सक्षम करते हैं। मैं जूमला 1.6 का उपयोग करने के लिए जीमेल एसएमटीपी का परीक्षण करने की कोशिश करता हूं जो अब काम करता है। लेकिन मैं अपने कोडिनेटर वेब में 2 परीक्षण करने की कोशिश करता हूं, जब मैंने पंजीकरण बटन पर क्लिक किया तो मेरी साइट से कोई प्रतिक्रिया नहीं है। और पृष्ठ लोडिंग की तरह है ... क्या इसका मतलब है कि मैंने 2 कुकीज़ को साफ़ किया है या किसी चीज़ को रीसेट कर दिया है? –

+0

ठीक है .. मैं ब्राउज़र बंद करता हूं और दोबारा खोलता हूं। और अब यह काम करता है। धन्यवाद !! उस कोड के लिए –

+0

thanx –

4

के नए प्रकारों php संस्करण में परीक्षण स्क्रिप्ट के लिए अद्यतन है:

<?php 

    $fp = fsockopen("www.google.com", 80, $errno, $errstr, 10); // work fine 
    if (!$fp) 
     echo "www.google.com - $errstr ($errno)<br>\n"; 
    else 
     echo "www.google.com - ok<br>\n"; 


    $fp = fsockopen("smtp.gmail.com", 465, $errno, $errstr, 10); // NOT work 
    if (!$fp) 
     echo "smtp.gmail.com 465 - $errstr ($errno)<br>\n"; 
    else 
     echo "smtp.gmail.com 465 - ok<br>\n"; 


    $fp = fsockopen("smtp.gmail.com", 587, $errno, $errstr, 10); // NOT work 
    if (!$fp) 
     echo "smtp.gmail.com 587 - $errstr ($errno)<br>\n"; 
    else 
     echo "smtp.gmail.com 587 - ok<br>\n"; 



?>