मैंने php mail()
फ़ंक्शन का उपयोग करके एक ईमेल भेजने की कोशिश की लेकिन यह किसी भी तरह से विफल रहा, शिकायत करते हुए कि एक वास्तविक डोमेन नाम की आवश्यकता है। निम्नलिखित Maillog में देखा गया है:
sendmail 4984 r25984: from = apache, size = 273, class = 0, nrcpts = 1, msgstr = <201.r25@localhost.localdomain>, relay = apache @ localhost
सेंड 4985 r25985: ruleset = check_mail, arg1 =, relay = relay =। mydomain.com [127.0.0.1], अस्वीकार = 553 5.5.4 ... प्रेषक पते के लिए आवश्यक वास्तविक डोमेन नाम
सेंडमेल 4984 r25984: toexex@server.com, ctladdr = apache (48/48), देरी = 00: 00:01, xdelay = 00: 00: 00, मेलर = रिले, pri = 30273, रिले = [127.0.0.1] [127.0.0.1], dsn = 5.6.0, stat = डेटा प्रारूप त्रुटि
4984 r25984: r25984: DSN: डेटा प्रारूप त्रुटि
जब भी logrotate में कोई समस्या हो, cron external@server.com पर ईमेल भेजने में सक्षम है। मुझे यकीन नहीं है कि php ऐसा करने में असमर्थ है। मैंने निम्नलिखित के साथ `sendmail.mc में डिफ़ॉल्ट कॉन्फ़िगरेशन में परिवर्तन करने की कोशिश की:
MASQUERADE_AS(`mydomain.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(localhost)dnl
MASQUERADE_DOMAIN(localhost.localdomain)dnl
MASQUERADE_DOMAIN(mycom)dnl
लेकिन, इसका कोई असर नहीं दिख रहा है। Php मेल फंक्शन में एड्रेस से हैडर पहले ही सेट हो चुका है। मैंने यह भी सुनिश्चित किया है कि SELinux httpd_can_sendmail
सक्षम है। मेल डिलीवर होने के लिए मुझे और क्या करने की आवश्यकता है?
dnl
उनके सामने हटाकर दो पंक्तियों को जोड़ दिया।
mail()
? और, sendmail.mc
उचित कॉन्फ़िगरेशन फ़ाइल नहीं है, इस फ़ाइल sendmail.cf
का उपयोग करने के लिए संकलित किया जाना चाहिए m4
।
sendmail.mc
, लाइनों कोlocalhost.localdomain
औरlocalhost
कुछ सार्थक को बदलकर mc फ़ाइल को संकलित कियाsendmail.cf
?