Pengaturan saya: Saya menjalankan situs web Magento di server Amazon Linux (yang tampaknya pada dasarnya adalah CentOS) dengan server web Apache. Saya juga menggunakan Google Apps untuk mengelola email mydomain.com.
Saya berhasil mengatur data MX, SPF dan DKIM untuk server dan membuatnya berfungsi, sehingga saya menerima "Lulus" untuk SPF dan DKIM ketika saya mengirim email. Namun, saya mengalami masalah aneh yang sepertinya tidak bisa saya lewati --- bagian dari tajuk email yang saya kirim sepertinya selalu mengatakan:
Received: (from apache@localhost) by mydomain.com
Saya telah mencari tinggi dan rendah untuk cara mengubah ini menggunakan "[email protected]", tetapi saya sepertinya tidak bisa mengetahuinya.
Di antara hal-hal yang pernah saya coba:
- Mengubah php.ini menjadi: / usr / sbin / sendmail -t -i -f [email protected]
- Menambahkan ke virtualline mydomain.conf baris: ServerAdmin [email protected]
- Mengatur Jalur Kembali ke "Ya" di backend Magento (Sistem -> Konfigurasi -> Lanjutan -> Sistem -> Pengaturan Pengiriman Surat.
Jika ini membantu, isi file / etc / hosts saya adalah sebagai berikut:
127.0.0.1 www.mydomain.com
127.0.0.1 mydomain.com
127.0.0.1 localhost localhost.localdomain
Untuk baris terakhir dari file hosts, saya juga mencoba variasi ...
127.0.0.1 localhost.localdomain mydomain.com
... tapi masih tidak berhasil.
Saya pikir mungkin juga membantu jika saya menambahkan tajuk email, dalam kasus yang mungkin memberikan beberapa petunjuk tentang apa yang mungkin terjadi (saya telah mengubah banyak nilai agar tetap digeneralisasi).
Delivered-To: [email protected]
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: <[email protected]>
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 <[email protected]>
(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 [email protected] 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 [email protected] designates 66.66.777.77 as permitted sender) [email protected];
dkim=pass [email protected]
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 <[email protected]>; 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: <[email protected]>
To: =?utf-8?B?Sm9lIEdhcmNpYQ==?= <[email protected]>
Subject: =?utf-8?B?VGVzdCBOZXdzbGV0dGVyLCBwbGVhc2UgaWdub3Jl?=
X-PHP-Originating-Script: 48:Sendmail.php
From: "mydomain.com" <[email protected]>
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
Sebagian dari saya tidak yakin apakah ini normal, dan saya kira saya tidak yakin apa yang menyebabkan apache @ localhost muncul, tetapi jika ada yang punya ide itu akan sangat dihargai, terima kasih!
Sunting MTA yang saya gunakan adalah Sendmail. Berikut adalah perubahan konfigurasi yang saya buat pada file sendmail.mc untuk mengakomodasi situs saya.
MASQUERADE_AS(`mydomain.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
INPUT_MAIL_FILTER(`opendkim', `S=inet:[email protected]')
define(`confCW_FILE', `/etc/mail/local-host-names')dnl
dnl define(`confDOMAIN_NAME', `mydomain.com')dnl
Sunting Saya tidak yakin apakah pertanyaan ini ditandai sebagai duplikat lagi, jadi saya pikir saya harus menekankan alasan mengapa tidak didasarkan pada pertanyaan yang dirujuk tentang mengapa tidak. Beralih ke Postfix bukan merupakan solusi, namun merupakan solusi. Saya akan benci untuk mencabut semua pengaturan yang telah saya lakukan dengan Sendmail sejauh ini hanya untuk menghadapi masalah potensial lainnya yang mencoba membuat Postfix berfungsi. Saya juga sudah menyebutkan mengedit perintah sendmail di php.ini, jika Anda membaca poin-poin yang saya sebutkan di atas.
Sunting Saya pikir saya mungkin juga menyebutkan beberapa hal lain yang saya coba lakukan yang tidak berhasil. Saya menambahkan ke sendmail saya. Baris berikut:
FEATURE(`genericstable',`hash -o /etc/mail/genericstable.db')dnl
GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl
Saya kemudian membuat file generik-domain dengan satu baris "mydomain.com" di dalamnya. Kemudian, saya membuat file genericstable dengan baris tunggal "apache [email protected]" di dalamnya. Saya menjalankan make di direktori mail, membuat ulang file cf, dan me-restart sendmail, tetapi tidak ada dadu.
Saya mencoba mengedit file / etc / aliases. Saya mencoba mengubah baris "apache: root" untuk mengatakan "apache: root, mail @ mydomain.com", dan juga hanya "apache: [email protected]", tetapi itu tidak melakukan apa-apa juga.
Saya juga mencoba menambahkan ke file / etc / mail / virtuserstable baris tunggal "apache @ localhost [email protected]". Itu juga tidak melakukan apa-apa.
Saya terkejut betapa frustrasinya membuat ini berfungsi dengan baik. Saya sangat dekat untuk memilikinya di mana saya membutuhkannya, tapi jujur saya tidak tahu di mana harus mencari untuk mendapatkan baris "apache @ localhost" diganti.
sumber
Jawaban:
Alamat email from adalah pengguna daemon yang meminta pesan untuk dikirim (apache) @ nama domain yang dikonfigurasi dalam MTA Anda (baik sendmail atau postfix).
Jika MTA lokal Anda adalah postfix, Anda perlu mengubah pengaturan myorigin (yang default ke nama host yang dikonfigurasi. Localhost dalam contoh ini). Pengaturan ini ada di main.cf (lokasi default di sebagian besar distribusi adalah
/etc/postfix/main.cf
). Ubah saja ke nama domain yang Anda inginkan untuk mengirimnya. Kemudian mulai kembali postfix.Tentu saja, mungkin lebih mudah bagi Anda untuk hanya mengubah nama host server agar sesuai dengan domain pengiriman yang diinginkan.
Perlu diingat, bahwa jika Anda akan mengirim email dari server ini untuk domain itu, Anda akan ingin menambahkan catatan DNS SPF memungkinkan, jika tidak, pesan Anda kemungkinan akan dibuang oleh filter spam.
sumber
Dalam melihat konfigurasi Anda, sepertinya ada beberapa bit yang hilang (dan maaf atas sintaks saya, saya tidak sering memposting):
Anda mungkin ingin menambahkan opsi konfigurasi MASQUERADE_DOMAIN untuk digunakan dengan MASQUERADE_AS, mencocokkan MASQUERADE_DOMAIN dengan apa pun FQDN host (nama host -f pada kebanyakan platform linux). Aku sudah melakukan hal-hal aneh jika mereka tidak ada di sana, jadi itu akan menjadi:
dan kemudian baris ini:
Harusnya benar
atau itu akan diabaikan oleh perintah make / hash ketika Anda memperbarui file sendmail.cf. Orang ini memberikan penjelasan yang bagus tentang mengapa Apa perbedaan antara "dnl" dan "dnl #" dalam file sendmail.mc?
Saya masih mencoba untuk menyingkirkan bagian "apache" di server saya sendiri, tetapi saya harap ini membuat Anda sedikit lebih dekat!
sumber
System -> Configuration -> Advanced -> System -> Set Return-Path -> Ya
atau atur ke email yang ingin Anda gunakan. Baru saja menemukan ini hari ini - ternyata beberapa email ditolak oleh mailservers dengan aturan ketat (.edu, .gov ... dll)
sumber
Tambah
define(`confRECEIVED_HEADER', `internal info removed')dnl
untuksubmit.mc
kemudian menghasilkan.cf
file dan restartsendmail
seperti biasa.Penting: file yang harus diedit agar ini berfungsi adalah
submit.mc
, dan BUKANsendmail.mc
. Jika Anda mengeditsendmail.mc
file sebagai gantinya,Received
header di atas yang Anda sebutkan akan menjadi yang dimodifikasi (yaituReceived: from mydomain.com (www.mydomain.com [127.0.0.1])
).Catatan: Alih-alih string literal
internal info removed
Anda dapat menggunakan kembali beberapa info yang diberikan saat menyembunyikan yang sensitif, misalnya:by $j id $i; $b
untuk mendapatkanby DOMAIN id ID; TIMESTAMP
.Di atas akan menghapus / mengganti informasi setelah
Received
tajuk yang Anda sebutkan:Lihat juga pertanyaan serupa: Cara menghapus Received: (from apache @ localhost) dan versi sendmail dari header
sumber