ईमेल हेडर से अपाचे @ लोकलहोस्ट हटाना?


11

मेरा सेटअप: मैं एक अपाचे वेबसर्वर के साथ एक अमेज़ॅन लिनक्स सर्वर (जो मूल रूप से CentOS लगता है) पर एक Magento वेबसाइट चला रहा हूं। मैं mydomain.com के मेल के प्रबंधन के लिए Google Apps का भी उपयोग करता हूं।

मैं सर्वर के लिए एमएक्स, एसपीएफ और डीकेआईएम रिकॉर्ड को सफलतापूर्वक स्थापित करने में सक्षम था और उन्हें काम कर रहा था, ताकि मुझे ईमेल भेजने पर एसपीएफ और डीकेआईएम दोनों के लिए "पास" प्राप्त हो। हालाँकि, मैंने एक अजीब समस्या में भाग लिया है जो मुझे अतीत में नहीं मिल सकता है --- मेरे द्वारा भेजे गए ईमेल के हेडर का एक हिस्सा हमेशा कहता है:

Received: (from apache@localhost) by mydomain.com 

मैंने इसके बजाय "mail@mydomain.com" का उपयोग करने के लिए इसे बदलने के लिए एक उच्च और निम्न खोज की है, लेकिन मुझे अभी यह पता नहीं लग सकता है।

मैंने जिन चीजों की कोशिश की है उनमें:

  • कहने के लिए php.ini बदलना: / usr / sbin / sendmail -t -i -f mail@mydomn.com
  • Mydomain.conf की वर्चुअलहोस्ट लाइन में जोड़ना: ServerAdmin mail@mydomain.com
  • Magento के बैकेंड (सिस्टम -> कॉन्फ़िगरेशन -> उन्नत -> सिस्टम -> मेल भेजने की सेटिंग में "हां" पर रिटर्न-पथ सेट करना।

यदि यह मदद करता है, तो मेरी / etc / मेजबान फ़ाइल की सामग्री इस प्रकार है:

127.0.0.1   www.mydomain.com
127.0.0.1   mydomain.com
127.0.0.1   localhost localhost.localdomain

मेजबानों फ़ाइल की अंतिम पंक्ति के लिए, मैंने भी बदलाव की कोशिश की ...

127.0.0.1   localhost.localdomain mydomain.com

... लेकिन यह अभी भी काम नहीं किया।

मुझे लगा कि अगर मैं ईमेल के हेडर को जोड़ देता हूं, तो यह भी मदद कर सकता है कि क्या हो रहा है, इसके लिए कुछ सुराग दे सकता हूं (मैंने इसे सामान्यीकृत रखने के लिए बहुत सारे मान बदल दिए हैं)।

Delivered-To: zerowing@email.com
Received: by 123.123.123.123 with SMTP id abcdefg123456790;
        Fri, 3 Apr 2015 08:35:04 -0700 (PDT)
X-Received: by 456.456.456.456 with SMTP id asdfqwerhjkl234hjkl.789.78909876789;
        Fri, 03 Apr 2015 08:35:03 -0700 (PDT)
Return-Path: <mail@mydomain.com>
Received: from mydomain.com (ec2-11-11-111-11.amazonaws.com. [66.66.777.77])
        by mx.google.com with ESMTPS id asdkfjhkjdfha839383.105.2015.04.03.08.35.02
        for <zerowing@email.com>
        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Fri, 03 Apr 2015 08:35:03 -0700 (PDT)
Received-SPF: pass (google.com: domain of mail@mydomain.com designates 66.66.777.77 as permitted sender) client-ip=66.66.777.77;
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of mail@mydomain.com designates 66.66.777.77 as permitted sender) smtp.mail=mail@mydomain.com;
       dkim=pass header.i=@mydomain.com
Received: from mydomain.com (www.mydomain.com [127.0.0.1])
    by mydomain.com (8.14.4/8.14.4) with ESMTP id t33FZ29p004251
    for <zerowing@email.com>; Fri, 3 Apr 2015 15:35:02 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mydomain.com;
    s=default; t=fjIFDJF9049;
    bh=fjO4J4f09j409JF04J909f4j904JF940F9/Y=;
    h=To:Subject:From:Date;
    b=F4J90FJ490j09j490FJ094J0j94f90j409j490Jf90j904JF09j490fj904jf094J
     f09J40F9J904fj049J099j49J049J0FJijffjdlfjldkDLFJKLdjflEJFOIJFOEIEO
     JF9JF049j409j0F094J09FJ049jf049j=
Received: (from apache@localhost) <----------- THIS IS WHAT I'M TRYING TO CHANGE
    by mydomain.com (8.14.4/8.14.4/Submit) id fkdjfljlfsra39393;
    Fri, 3 Apr 2015 15:35:01 GMT
Message-Id: <201504031535.fkdjfljlfsra39393@mydomain.com>
To: =?utf-8?B?Sm9lIEdhcmNpYQ==?= <zerowing@email.com>
Subject: =?utf-8?B?VGVzdCBOZXdzbGV0dGVyLCBwbGVhc2UgaWdub3Jl?=
X-PHP-Originating-Script: 48:Sendmail.php
From: "mydomain.com" <mail@mydomain.com>
Date: Fri, 03 Apr 2015 15:35:01 +0000
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
MIME-Version: 1.0

अगर यह सामान्य है, तो मेरा कुछ हिस्सा निश्चित नहीं है, और मुझे लगता है कि मुझे यकीन नहीं है कि अपाचे @ लोकलहोस्ट दिखने का कारण क्या हो सकता है, लेकिन अगर किसी को यह अंदाजा है तो यह बहुत सराहा जाएगा, धन्यवाद!

मेरे द्वारा उपयोग किए जा रहे MTA को Sendmail संपादित करें । यहाँ विन्यास परिवर्तन हैं जो मैंने अपनी साइट के लिए समायोजित करने के लिए sendmail.mc फ़ाइल में किए हैं।

MASQUERADE_AS(`mydomain.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@127.0.0.1')
define(`confCW_FILE', `/etc/mail/local-host-names')dnl
dnl define(`confDOMAIN_NAME', `mydomain.com')dnl

संपादित करें मुझे यकीन नहीं है कि अगर यह प्रश्न फिर से डुप्लिकेट के रूप में चिह्नित किया गया है, तो मैंने सोचा कि मुझे इस तर्क पर जोर देना चाहिए कि यह संदर्भित प्रश्न पर आधारित नहीं है क्योंकि यह क्यों नहीं है। पोस्टफ़िक्स में स्विच करना एक समाधान नहीं है, इतना वर्कअराउंड के रूप में। मैं सभी सेटअप को उखाड़ने से नफरत करूंगा, जो मैंने अब तक सेंडमेल के साथ किया है, इसके बजाय पोस्टफिक्स प्राप्त करने की कोशिश कर रहे अन्य संभावित समस्याओं का सामना करने के लिए। मैंने पहले ही php.ini में sendmail कमांड को एडिट करने का उल्लेख किया है, यदि आप मेरे द्वारा उल्लिखित बुलेट पॉइंट्स को पढ़ते हैं।

संपादित करें मुझे लगा कि मैं कुछ अन्य चीजों का उल्लेख कर सकता हूं जो मैंने करने की कोशिश की जो काम नहीं कर पाई। मैंने निम्नलिखित पंक्तियों में अपने Sendmail.mc को जोड़ा:

FEATURE(`genericstable',`hash -o /etc/mail/genericstable.db')dnl
GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl

मैंने इसके बाद सिंगल लाइन "mydomain.com" के साथ एक जेनरिक-डोमेन फाइल बनाई। फिर, मैंने इसके अंदर सिंगल लाइन "अपाचे mail@homebrewsupply.com" के साथ एक सामान्य फ़ाइल बनाई। मैं मेल डायरेक्टरी में बनाता था, cf फाइल को फिर से बनाता था, और सेंडमेल को फिर से शुरू करता था, लेकिन कोई पासा नहीं।

मैंने / etc / उपनाम फ़ाइल को संपादित करने की कोशिश की। मैंने "अपाचे: रूट" को "अपाचे: रूट, मेल @ mydomain.com" कहने के लिए, साथ ही सिर्फ "अपाचे: mail@mydomain.com" को बदलने की कोशिश की, लेकिन उसने कुछ भी नहीं किया।

मैंने / etc / mail / virtuserstable फ़ाइल की एकल पंक्ति "apache @ localhost mail@mydomain.com" में जोड़ने का प्रयास किया। वह भी कुछ नहीं किया।

मैं आश्चर्यचकित हूं कि इस काम को ठीक से करना कितना निराशाजनक है। मैं ऐसा करने के करीब हूँ जहाँ मुझे इसकी आवश्यकता है, लेकिन मैं ईमानदारी से नहीं जानता कि "अपाचे @ लोकलहोस्ट" लाइन को कहाँ से लाया जाए।



एक के लिए, उन सवालों के समाधान मेरे लिए काम नहीं करते। पहला समाधान "मैं यह पता लगाने के लिए नीचे नहीं उबलता कि मैं कैसे काम करने के लिए भेजने के लिए काम कर सकता हूं, इसलिए मैंने हार मान ली और पोस्टफिक्स में बदल गया"। यह समस्या का हल नहीं है, यह एक समाधान है। मेजबानों की फ़ाइल में सर्वरनेम जोड़ने के लिए दूसरा समाधान, मेरे लिए भी काम नहीं करता था --- इसलिए अनिवार्य रूप से मुझे जो समस्या आ रही है वह अलग होनी चाहिए। और ऐसा नहीं है कि मैं किसी ऐसे व्यक्ति के प्रश्नों का समाधान करने के लिए प्रतीक्षा कर सकता हूं जो 2 वर्ष से अधिक पुराना हो।
जीरो विंग

जवाबों:


4

ईमेल पते से डेमॉन का उपयोगकर्ता है जो संदेश भेजने के लिए (अपाचे) @ डोमेन नाम आपके एमटीए (या तो भेजने या पोस्टफ़िक्स) में कॉन्फ़िगर किया गया है।

यदि आपका स्थानीय MTA पोस्टफ़िक्स है, तो आपको myorigin सेटिंग बदलने की ज़रूरत है (जो कॉन्फ़िगर किए गए होस्टनाम में चूक करता है। इस उदाहरण में लोकलहोस्ट)। यह सेटिंग main.cf में है (अधिकांश वितरण में डिफ़ॉल्ट स्थान है /etc/postfix/main.cf)। बस उस डोमेन नाम को बदलें जिसे आप इसे भेजना चाहते हैं। फिर पोस्टफ़िक्स को पुनः आरंभ करें।

बेशक, आपके लिए वांछित भेजने वाले डोमेन से मिलान करने के लिए सर्वर के होस्टनाम को बदलना आसान हो सकता है।

ध्यान रखें, यदि आप उस डोमेन के लिए इस सर्वर से ईमेल भेजने जा रहे हैं, तो आप एक SPF DNS रिकॉर्ड जोड़ना चाहेंगे, अन्यथा आपके संदेश स्पैम फ़िल्टर द्वारा डंप हो जाएंगे।


नमस्ते, मेरा एमटीए वास्तव में Sendmail है, हालांकि मुझे लगता है कि मैंने इसे करने के लिए सभी संभव समायोजन किए हैं (मैं अपने प्रश्न में उन परिवर्तनों को जोड़ने की कोशिश करूँगा)। क्या आप "वांछित भेजने वाले डोमेन से मिलान करने के लिए सर्वर के होस्टनाम को बदलने" पर भी स्पष्ट कर सकते हैं? अगर आपका मतलब है कि मुझे इसे बनाना चाहिए ताकि जब मैं कमांड लाइन पर "hostname" टाइप करूं ताकि यह mydomain.com को आउटपुट दे, मेरे पास पहले से ही सेट है। और भी, मेरे पास डोमेन के लिए एक एसपीएफ़ रिकॉर्ड सेट है, मैंने इस प्रश्न में उल्लेख किया है कि मेरे पास एसपीएफ़ और डीकेआईएम सेट अप है और सफलतापूर्वक काम कर रहा है (मैं अपने ईमेल हेडर में दोनों के लिए एक पास देखता हूं)।
शून्य विंग

एक पोस्ट मिला जो निम्नलिखित सुझाव देने में मदद कर सकता है: यूनिक्स पर "पते से" लिफाफा बदलने के लिए, आप अपने सेंडेल बाइनरी में एक "-r" विकल्प निर्दिष्ट करते हैं। आप इसे "sendmail_path" कमांड लाइन में "-r" विकल्प जोड़कर php.ini में विश्व स्तर पर कर सकते हैं। स्रोत: stackoverflow.com/questions/5666312/...
जो

मैंने अपने php.ini में "-r" को "sendmail_path" में जोड़ने की कोशिश की, लेकिन यह कुछ टूटने लगा, क्योंकि मेल ने अचानक सर्वर से भेजना बंद कर दिया था। विशेष रूप से, मैंने लाइन को --- sendmail_path = / usr / sbin / sendmail -t -i -r mail@mydomain.com में बदल दिया, लेकिन यह अभी भी काम नहीं किया (मैंने उद्धरण चिह्नों के साथ और उसके बिना प्रयास किया, और बनाया भी सर्वर को पुनरारंभ करना सुनिश्चित करें, लेकिन कोई पासा नहीं है, और मुझे यकीन नहीं है कि उस बिंदु के बाद ईमेल भेजने में सक्षम होने से क्या रोक रहा था)।
जीरो विंग

3

आपके कॉन्फिग को देखने पर ऐसा लगता है कि कुछ जोड़े गायब हैं (और मेरे वाक्यविन्यास के लिए खेद है, मैं अक्सर पोस्ट नहीं करता):

आप संभवत: MASQUERADE_DOMAIN कॉन्फ़िगरेशन विकल्प को MASQUERADE_AS के साथ जाने के लिए जोड़ना चाहते हैं, जो कि मेजबान का FQDN है (अधिकांश linux प्लेटफार्मों पर होस्टनाम -f)। मैंने यह अजीब चीजें की हैं यदि वे दोनों वहां नहीं हैं, तो यह होगा:

MASQUERADE_AS(`mydomain.com')dnl
MASQUERADE_DOMAIN(`fqdnname.internal')dnl

और फिर यह लाइन:

dnl define(`confDOMAIN_NAME', `mydomain.com')dnl

वास्तव में होना चाहिए

define(`confDOMAIN_NAME', `mydomain.com')dnl

जब आप sendmail.cf फ़ाइल को अपडेट करते हैं तो इसे मेक / हैश कमांड द्वारा अनदेखा किया जाएगा। यह आदमी इस बात की बहुत व्याख्या करता है कि Sendmail.mc फ़ाइल में "dnl" और "dnl #" में क्या अंतर है?

मैं अभी भी अपने स्वयं के सर्वर में "अपाचे" भाग से छुटकारा पाने की कोशिश कर रहा हूं, लेकिन मुझे आशा है कि यह आपको थोड़ा करीब हो जाएगा!


1

सिस्टम -> कॉन्फ़िगरेशन -> उन्नत -> सिस्टम -> रिटर्न-पथ सेट करें -> हां

या इसे उस ईमेल पर सेट करें जिसे आप उपयोग करना चाहते हैं। बस आज यह पाया गया - जाहिरा तौर पर कुछ ईमेल मेलर्स द्वारा सख्त नियमों (.edu, .gov ... आदि) के साथ अस्वीकार किए जा रहे थे।


हमारे एसपीएफ रिकॉर्ड को नजरअंदाज क्यों किया जा रहा है और ई-मेल अभी भी हमारी साइट से हमें भेजे जाने पर स्पूफ के रूप में चिह्नित क्यों किए गए हैं, यह जानने की कोशिश में व्यर्थ घंटे बर्बाद हो रहे हैं। एक कूबड़ था, यह प्राप्त-से हेडर था जो मुझे यहां ले गया। आपके 30 सेकंड के समाधान ने तुरंत काम किया और घंटों की निराशा को समाप्त कर दिया! इस पृष्ठ पर इस समस्या और Magento के लिए सबसे सरल समाधान। अपना सर्वर कॉन्फ़िगरेशन बदलने से पहले आप इसे आज़माएँ।
एशले स्वैटन

मैं सर्वर आधारित ईमेल सेवा को पूरी तरह से बंद करने की सलाह देता हूं और बस स्पार्कपोस्ट + smtpPro प्लगइन का उपयोग करता हूं। 100,000 ईमेल / माह मुक्त के साथ एक आकर्षण की तरह काम करता है।
काल्विन कालिन

1

जोड़े define(`confRECEIVED_HEADER', `internal info removed')dnlको submit.mcतो उत्पन्न .cfफ़ाइल और पुन: प्रारंभ sendmailहमेशा की तरह।

महत्वपूर्ण: वह फ़ाइल जिसे इस कार्य के लिए संपादित किया जाना चाहिए submit.mcऔर वह नहीं है sendmail.mc। यदि आप sendmail.mcइसके बजाय फ़ाइल को संपादित करते हैं , तो Receivedआपके द्वारा उल्लिखित शीर्ष लेख एक संशोधित (जो है Received: from mydomain.com (www.mydomain.com [127.0.0.1])) होगा।

ध्यान दें: शाब्दिक स्ट्रिंग के बजाय internal info removedआप संवेदनशील एक को छिपाने के दौरान प्रदान की गई कुछ जानकारी का पुन: उपयोग कर सकते हैं, उदाहरण के लिए: by $j id $i; $bपाने के लिए by DOMAIN id ID; TIMESTAMP

आपके द्वारा बताए गए Receivedशीर्षलेख के बाद उपरोक्त जानकारी को हटा / बदल देगा :

Received: (from apache@localhost) <----------- THIS IS WHAT I'M TRYING TO CHANGE
by mydomain.com (8.14.4/8.14.4/Submit) id fkdjfljlfsra39393;
Fri, 3 Apr 2015 15:35:01 GMT

इसी तरह का प्रश्न भी देखें: प्राप्त को कैसे निकालें: (अपाचे @ लोकलहोस्ट से) और हेडर से सेंडेल वर्जन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.