2010-12-26 22 views
46

मैं इस त्रुटि मिलती रहती है जब मैं PHP में एक ई-मेल भेजने का प्रयास करें:"स्थानीय होस्ट" बंदरगाह पर MailServer से जुड़ने में विफल 25

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\dressoholic\register.php on line 50 

मेरी php.ini इस तरह दिखता है:

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = localhost 
; http://php.net/smtp-port 
smtp_port = 25 

; For Win32 only. 
; http://php.net/sendmail-from 
sendmail_from = [email protected] 

मैं अपने लैपटॉप का उपयोग सर्वर के रूप में कर रहा हूं .. मैं क्या गलत कर रहा हूं? धन्यवाद।

+3

क्या आपके पास एक एसएमटीपी सर्वर सेटअप है? –

+0

नहीं .. शायद यही कारण है :( – Loolooii

+1

कुछ प्रश्न, 1. क्या आपने अपना सर्वर पुनरारंभ किया है, 2. क्या आपके पास लैपटॉप पर चल रहा एक मेल सर्वर है, 3. हमें एसएमटीपी सुनना है? Cmd> 'netstat -aon'? – RobertPitt

उत्तर

26

आपको स्थानीय रूप से मेल सर्वर चलाने की आवश्यकता है। यदि यह यूनिक्स है, तो sendmail सक्षम करें यदि यह विंडोज़ सरल मेल ट्रांसफर सर्वर स्थापित करता है (सुनिश्चित नहीं है कि नाम सही है) II के घटक। जैसे विंडोज 2003 के लिए इसका पालन करें: http://msdn.microsoft.com/en-us/library/8b83ac7t.aspx

+0

क्या यह विंडोज 7 पर भी संभव है? – Loolooii

+6

मुझे अभी http://hmailserver.com मिला है /, अगर यह काम करता है तो कोशिश करेगा .. – Loolooii

+0

हां, W7 के कुछ संस्करणों पर काम करेगा: http://technet.microsoft.com/en-us/library/cc772058%28WS.10%29.aspx –

18

PHP मेल फ़ंक्शन का उपयोग करके मेल भेजने के लिए उपयोग किया जाता है। लेकिन मेल फ़ंक्शन को ईमेल भेजने के लिए SMTP सर्वर की आवश्यकता होती है। हमें php.ini फ़ाइल में SMTP होस्ट और SMTP पोर्ट का उल्लेख करने की आवश्यकता है। एसएमटीपी सर्वर मेल की सफल कॉन्फ़िगरेशन पर सफलतापूर्वक PHP स्क्रिप्ट के माध्यम से भेजा जाएगा भेजा जाएगा।

6

यदि आप स्थानीय एप्लिकेशन पर अपना आवेदन चला रहे हैं और यह अभी तक लाइव नहीं है, तो मेरा मानना ​​है कि इसका उपयोग करके मेल भेजना बहुत मुश्किल है।

एक बार जब आप अपना आवेदन ऑनलाइन डाल देते हैं, तो मुझे विश्वास है कि यह समस्या स्वचालित रूप से हल होनी चाहिए। लेकिन मुझे लगता है कि ini_set() आपको रन समय के दौरान php.ini में मानों को बदलने में मदद करता है।

3

PHP मेल फ़ंक्शन 2 परिदृश्यों में ईमेल भेज सकता है:

ए। यूनिक्स प्रेषण प्रोग्राम के माध्यम से ईमेल भेजने का प्रयास करें लिनक्स पर यह प्रोग्राम "sendmail" निष्पादित करेगा, सभी पैरा को sendmail और सभी को डाल देगा।

या

बी। मेल सर्वर से कनेक्ट करें (smtp प्रोटोकॉल और होस्ट/पोर्ट/उपयोगकर्ता नाम/php.ini से पास का उपयोग करके) और ईमेल भेजने का प्रयास करें।

यदि PHP सर्वर से कनेक्ट करने में असमर्थ है तो यह चेतावनी देगा (और आप अपने लॉग में ऐसी कार्यप्रणाली देखेंगे) इसे हल करने के लिए, अपनी स्थानीय मशीन पर smtp सर्वर स्थापित करें या किसी भी उपलब्ध सर्वर का उपयोग करें। Smpp को सेटअप/कॉन्फ़िगर कैसे करें आप php.net

5

सबसे पहले, आपको अपने लोकहोस्ट पर एक एसएमटीपी का उपयोग करने के लिए मजबूर नहीं किया जाता है, अगर आप उस आईएसपी से एमटीए के DNS नाम में उस लोकहोस्ट प्रविष्टि को बदलते हैं प्रदाता (जो आपको मेल रिले करेगा) यह तुरंत काम करेगा, इसलिए आपकी खुद की ईमेल सेवा के बारे में कोई गड़बड़ नहीं है। बस अपने प्रदाताओं एसएमटीपी सर्वर का उपयोग करने का प्रयास करें, यह तुरंत काम करेगा।

+1

धन्यवाद ठीक काम किया! –

20

विंडोज़ पर, लगभग सभी एएमपीपी (अपाचे, माईएसक्यूएल, पीएचपी, PHPmyAdmin) पैकेज में मेल सर्वर शामिल नहीं है (लेकिन लगभग सभी नग्न लिनक्स हैं!)। तो, विंडोज़ के तहत PHP का उपयोग करते समय, आपको मेल सर्वर सेट अप करने की आवश्यकता है!

इमो सबसे अच्छा और सबसे सरल उपकरण IST इस: http://smtp4dev.codeplex.com/

SMTP4Dev एक सरल एक फ़ाइल मेल सर्वर उपकरण मेल भेज देते हैं इकट्ठा करता है वह यह है कि (इसलिए यह वास्तव में मेल भेजता है, यह सिर्फ उनके लिए रहता है विकास)। बिल्कुल सही उपकरण

+1

इस उपकरण के लिए धन्यवाद @Sliq – Harsha

+0

कृपया मुझे यह जानना अच्छा लगेगा कि इस टूल को मेरे असली ईमेल सर्वर को सुनने के लिए कैसे कॉन्फ़िगर करें – Michael

-1

php स्थानीयहोस्ट से ईमेल भेजने में बहुत मुश्किल नहीं है या सोचता है लेकिन अगर आप सर्वर पर प्रोजेक्ट अपलोड करते हैं तो यह समस्या हल हो जाएगी। और यदि आप यह जांचना चाहते हैं कि स्थानीय सर्वर पर ईमेल भेजा गया है या नहीं, तो आपको smtp4dev डाउनलोड करना होगा और इसे इंस्टॉल करना होगा। यदि आपका ईमेल सफलतापूर्वक भेजा गया है या आपके कोड के साथ कोई समस्या है तो यह आपको एक संदेश देगा।

संबंधित मुद्दे