Apache @ localhost e-posta başlıklarından kaldırılsın mı?


11

Kurulumum: Bir Apache web sunucusu ile bir Amazon Linux sunucusunda (temel olarak CentOS gibi görünüyor) bir Magento web sitesi çalıştırıyorum. Ayrıca, alanadim.com'un postalarını yönetmek için Google Apps kullanıyorum.

Sunucu için MX, SPF ve DKIM kayıtlarını başarıyla ayarlayabildim ve çalıştırabildim, böylece e-posta gönderirken hem SPF hem de DKIM için bir "Geçiş" aldım. Ancak, ben geçmiş olsun gibi tuhaf bir sorunla karşılaştım --- göndermek e-postalar için başlığının bir parçası her zaman söylemek gibi görünüyor:

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

Bunun yerine "mail@alanadim.com" kullanmak için bunu değiştirmek için bir yol aradım, ama ben sadece anlamaya görünmüyor.

Denediğim şeyler arasında:

  • Php.ini dosyasını şu şekilde değiştirir: / usr / sbin / sendmail -t -i -f mail@alanadim.com
  • Mydomain.conf'un sanal ana bilgisayarına şu satırı ekleyin: ServerAdmin mail@alan_adim.com.tr
  • Magento arka ucunda Dönüş Yolunu "Evet" olarak ayarlamak (Sistem -> Yapılandırma -> Gelişmiş -> Sistem -> Posta Gönderme Ayarları.

Yardımcı olursa, / etc / hosts dosyamın içeriği aşağıdaki gibidir:

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

Hosts dosyasının son satırı için, ben de varyasyon çalıştı ...

127.0.0.1   localhost.localdomain mydomain.com

... ama yine de işe yaramadı.

Neler olabileceğine dair bazı ipuçları verebileceğim için, e-postanın başlıklarını eklersem de yardımcı olabileceğini düşündüm (Genelleştirmek için çok fazla değer değiştirdim).

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

Bir parçam bunun normal olup olmadığından emin değil ve sanırım apache @ localhost'un görünmesine neyin neden olabileceğinden emin değilim, ancak birisinin bir fikri varsa çok takdir edilecektir, teşekkür ederim!

Düzenle Kullandığım MTA, Sendmail. Siteme uyum sağlamak için sendmail.mc dosyasında yaptığım yapılandırma değişiklikleri.

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

Düzenle Bu sorunun tekrar kopyası olup olmadığından emin değilim, bu yüzden neden sorulmadığına dair atıf yapılan soruya dayanmadığını vurgulamam gerektiğini düşündüm. Postfix'e geçmek bir çözüm değil, bir çözüm. Sendmail ile şimdiye kadar yaptığım tüm kurulumları kökten çıkarmaktan nefret ediyorum, bunun yerine Postfix'in çalışmasını sağlamaya çalışan diğer potansiyel problemlerle karşılaşmak istiyorum. Yukarıda belirttiğim madde işaretlerini okuduysanız, php.ini dosyasında sendmail komutunu düzenlemekten de bahsetmiştim.

Düzenleme Ben de işe yaramadı denedim diğer bazı şeyleri de söz olabilir düşündüm. Sendmail.mc'ye şu satırları ekledim:

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

Daha sonra "mydomain.com" içindeki tek satırlı bir generics-domainler dosyası oluşturdum. Sonra içinde "apache mail@homebrewsupply.com" tek satırlı genel bir dosya oluşturdum. Posta dizininde make'i çalıştırdım, cf dosyasını yeniden oluşturdum ve sendmail'i yeniden başlattım, ancak zar yok.

/ Etc / aliases dosyasını düzenlemeyi denedim. "Apache: root" satırını "apache: root, mail @ alanadim.com" ve sadece "apache: mail@alanadim.com" demek için değiştirmeyi denedim, ama bu da hiçbir şey yapmadı.

Ayrıca / etc / mail / virtuserstable dosyasına tek satır "apache @ localhost mail@alanadim.com" eklemeyi denedim. Bu da hiçbir şey yapmadı.

Bunun düzgün çalışmasının ne kadar sinir bozucu olduğuna şaşırdım. İhtiyacım olan yere sahip olmaya çok yakınım, ama dürüstçe "apache @ localhost" satırının yerini almak isteyen nerede bilmiyorum.



Birincisi, bu soruların çözümleri benim için işe yaramıyor. İlk çözüm "Sendmail'i nasıl çalıştıracağımı anlayamadım, bu yüzden vazgeçtim ve bunun yerine postfix'e geçtim". Bu sorunun çözümü değil, bir çözüm. Sunucu çözümüne sunucuadı eklemek için ikinci çözüm de benim için işe yaramadı --- bu yüzden yaşadığım sorun farklı olmalı. Ve birisinin 2 yaşın üzerindeki sorulara uygulanabilir diğer çözümler eklemesini beklemem gibi değil.
Sıfır Kanat

Yanıtlar:


4

Gönderen e-posta adresi, MTA'nızda yapılandırılan alan adında (sendmail veya postfix) gönderilecek mesajın (apache) çağrılması için arka plan programının kullanıcısıdır.

Yerel MTA'nız postfix ise, myorigin ayarını değiştirmeniz gerekir (varsayılan olarak yapılandırılmış ana makine adıdır. Bu örnekte localhost). Bu ayar main.cf dosyasındadır (çoğu dağıtımda varsayılan konum /etc/postfix/main.cf). Bunu, gönderilmesini istediğiniz alan adına değiştirin. Ardından postfix'i yeniden başlatın.

Elbette, sunucunun ana bilgisayar adını istenen gönderen etki alanıyla eşleşecek şekilde değiştirmeniz daha kolay olabilir.

Bu sunucudan söz konusu etki alanı için e-posta gönderecekseniz, buna izin veren bir SPF DNS kaydı eklemek isteyeceğinizi, aksi takdirde iletilerinizin spam filtreleri tarafından döküleceğini unutmayın.


Merhaba, MTA'm aslında sendmail, ancak yapılabilecek tüm olası ayarlamaları yaptığımı düşünüyorum (bu değişikliklerin bazılarını soruma eklemeyi deneyeceğim). "Sunucunun ana bilgisayar adını istenen gönderen etki alanıyla eşleşecek şekilde değiştirme" konusunda da netleştirebilir misiniz? Eğer bunu mydomain.com çıktısı için komut satırına "hostname" yazdığımda yapmam gerektiğini söylüyorum. Ve ayrıca, etki alanı için bir SPF kaydım var, SPF ve DKIM'in başarıyla kurulduğunu ve çalıştığını sordum (e-posta başlıklarında her ikisi için bir geçiş görüyorum).
Sıfır Kanat

Aşağıdakileri önermek için yardımcı olabilecek bir gönderi bulundu: Unix'teki "zarf" adresinden zarfı değiştirmek için, sendmail ikili dosyaya bir "-r" seçeneği belirtirsiniz. Bunu "sendmail_path" komut satırına "-r" seçeneğini ekleyerek genel olarak php.ini dosyasında yapabilirsiniz. Kaynak:
Joe

Benim php.ini içinde "sendmail_path" için "-r" eklemeyi denedim, ancak posta aniden sunucudan gönderme durdu çünkü bu bir şey kırmak gibi görünüyordu. Daha spesifik olarak, satırı --- sendmail_path = / usr / sbin / sendmail -t -i -r mail@alanadim.com olarak değiştirdim, ancak yine de işe yaramadı (tırnak işaretleri ile ve tırnak işaretleri olmadan denedim ve ayrıca sunucuyu yeniden başlattığınızdan emin olun, ancak zar yok ve o noktadan sonra e-posta gönderebilmesini engelleyen şeyden emin değilim).
Sıfır Kanat

3

Yapılandırmanıza baktığımda birkaç bit eksik görünüyor (ve sözdizim için üzgünüm, sık sık yayınlamıyorum):

MASQUERADE_DOMAIN ile gitmek için MASQUERADE_DOMAIN yapılandırma seçeneğini, ana bilgisayarın FQDN'siyle (çoğu linux platformunda hostname -f) eşleştirerek MASQUERADE_DOMAIN ile eşleştirmek isteyeceksiniz. İkisi de orada değilse garip şeyler yapmasını sağladım, bu yüzden:

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

ve sonra bu satır:

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

Gerçekten olmalı

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

veya sendmail.cf dosyasını güncellediğinizde make / hash komutları tarafından yoksayılır. Bu adam bir sendmail.mc dosyasındaki "dnl" ve "dnl #" arasındaki farkın ne olduğunu gösteren harika bir açıklama yapıyor.

Hala kendi sunucumdaki "apache" bölümünden kurtulmaya çalışıyorum, ama umarım bu sizi biraz daha yaklaştırır!


1

Sistem -> Yapılandırma -> Gelişmiş -> Sistem -> Dönüş Yolunu Ayarla -> Evet

veya kullanmak istediğiniz e-postaya ayarlayın. Hemen bugün buldum - görünüşe göre bazı e-postalar sıkı kurallara sahip (.edu, .gov ... vb) posta sunucuları tarafından reddediliyordu.


SPF kayıtlarımızın neden göz ardı edildiğini ve e-postaların sitemizden bize gönderildiğinde yine de sahte olarak işaretlendiğini bulmaya çalışırken boşa harcanan saatler. Bir önsezim beni buraya getiren Alınan-Başlığı idi. 30 saniyelik çözümünüz anında çalıştı ve saatler süren hayal kırıklığına son! Bu sorun için en basit çözüm ve bu sayfada Magento. Sunucu yapılandırmanızı değiştirmeden önce bunu denemenizi öneririz.
Ashley Swatton

Sunucu tabanlı e-posta hizmetini tamamen kapatmanızı ve yalnızca Sparkpost + smtpPro eklentisini kullanmanızı öneririm. Ayda 100.000 e-posta ile cazibe gibi çalışır.
Kalvin Klien

1

Dosya oluşturmak define(`confRECEIVED_HEADER', `internal info removed')dnliçin ekleyin ve her zamanki gibi yeniden başlatın .submit.mc.cfsendmail

Önemli: Bunun çalışması için düzenlenmesi gereken dosya submit.mcDEĞİLDİR sendmail.mc. sendmail.mcBunun yerine dosyayı düzenlerseniz, Receivedbahsettiğinizin üstündeki başlık değiştirilen (yani Received: from mydomain.com (www.mydomain.com [127.0.0.1])) başlık olacaktır .

Not: Değişmez dize yerine internal info removed, hassas bilgileri gizlerken sağlanan bazı bilgileri yeniden kullanabilirsiniz, örneğin: by $j id $i; $balmak için by DOMAIN id ID; TIMESTAMP.

Yukarıdaki bilgiler, Receivedbahsettiğiniz başlıktan sonra bilgileri kaldıracak / değiştirecektir :

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

Benzer soruya bakın: Alınan: (apache @ localhost'tan) ve sendmail sürümünü başlıklardan nasıl kaldırabilirim?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.