Baik! Saya menemukan ini dari pos yang disebutkan dalam pertanyaan. Saya membuat semacam campuran antara jawaban itu sendiri dan tautan yang disediakan di dalamnya. Khususnya tautan keempat adalah yang saya gunakan.
Jadi masalahnya seperti ini. Misalkan Anda punya server atau VPS dan menjadikan salah satu domain Anda menjadi domain utama dan digunakan sebagai nama server (dalam contoh saya: mydomain.com).
Jadi, pertama-tama, kami akan berubah menjadi root untuk mempermudah, tetapi Anda dapat melewati langkah ini dan menggunakan sudo
sebelum setiap perintah.
sudo su
Sekarang, kami memasang OpenDKIM:
apt-get install opendkim opendkim-tools
Mari kita perbaiki file konfigurasi. Kami membuka /etc/opendkim.conf
untuk mengedit. Saya menggunakan nano, tetapi sama dengan editor lainnya.
nano /etc/opendkim.conf
Setelah dibuka, buat seperti ini. Jika Anda merasa nyaman, Anda dapat mengubah beberapa opsi, tetapi Domain
, KeyFile
dan Selector
harus tetap dikomentari.
# This is a basic configuration that can easily be adapted to suit a standard
# installation. For more advanced options, see opendkim.conf(5) and/or
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.
#
#Domain example.com
#KeyFile /etc/opendkim/201205.private
#Selector 201205
#
# Commonly-used options
Canonicalization relaxed/simple
Mode sv
SubDomains yes
# Log to syslog
Syslog yes
LogWhy yes
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
UMask 022
UserID opendkim:opendkim
#
KeyTable /etc/opendkim/KeyTable
SigningTable /etc/opendkim/SigningTable
ExternalIgnoreList /etc/opendkim/TrustedHosts
InternalHosts /etc/opendkim/TrustedHosts
#
Socket inet:8891@localhost
#EOF
Selanjutnya, kami membuat beberapa folder dan file yang akan menyimpan informasi tentang apa yang harus digunakan dan diproses OpenDKIM. Untuk saat ini, TrustedHosts
file. Kami membuat dan mengeditnya:
mkdir /etc/opendkim
nano /etc/opendkim/TrustedHosts
Kita harus memasukkan ke dalam file ini daftar alamat tepercaya: localhost dan 127.0.0.1, dan nama server dan IP Anda:
127.0.0.1
localhost
192.99.34.121
mydomain.com
Sekarang kita mengedit file konfigurasi OpenDKIM.
nano /etc/default/opendkim
Dan tambahkan baris ini di akhir file. Mereka akan memberi tahu OpenDKIM di port mana seharusnya mengharapkan permintaan masuk:
SOCKET="inet:8891@localhost"
Kami membuka file konfigurasi Postfix.
nano /etc/postfix/main.cf
Dan tambahkan baris ini ke akhir file. Mereka akan memberi tahu Postfix bahwa itu harus mengirim email untuk ditandatangani dan ke mana.
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Jika Anda tidak menambahkan domain sekarang, Anda dapat memulai kembali semuanya, sehingga konfigurasi mulai berlaku.
/etc/init.d/opendkim restart
/etc/init.d/postfix reload
/etc/init.d/postfix restart
Selesai! Server siap bekerja dengan DKIM. Sekarang, Anda perlu menambahkan domain Anda ke sistem ini. Proses berikut ini sama untuk semua domain yang ingin Anda tambahkan. Saya akan menggunakan otherdomain.com sebagai contoh, ganti dengan milik Anda.
Ingat saya root dari sebelumnya, tetapi jika Anda tidak, jalankan sudo su
atau awali perintah Anda dengan kata kunci sudo
.
sudo su
Pertama, kami membuat direktori untuk domain kami dan masuk ke dalamnya:
mkdir -p /etc/opendkim/keys/otherdomain.com
cd /etc/opendkim/keys/otherdomain.com
Sekarang kami membuat kunci untuk domain:
opendkim-genkey -r -d otherdomain.com
Kami memberikan kepemilikan pengguna OpenDKIM dari file yang baru dibuat:
chown opendkim:opendkim default.private
Dan kami membuka KeyTable
file untuk menambahkan kunci baru kami untuk domain baru kami:
nano /etc/opendkim/KeyTable
Kami menambahkannya ke akhir file (setelah semua domain lain yang kami miliki di sini):
default._domainkey.otherdomain.com otherdomain.com:default:/etc/opendkim/keys/otherdomain.com/default.private
Kami membuka SigningTable
file.
nano /etc/opendkim/SigningTable
Dan tambahkan di akhir file (sekali lagi, kami akan memiliki satu baris untuk setiap domain):
otherdomain.com default._domainkey.otherdomain.com
SigningTable ini mencantumkan semua email yang ditandatangani. Hanya dengan menambahkan nama domain, semua email dari domain itu akan ditandatangani.
Saya tidak yakin perlunya melakukan langkah berikutnya, tapi saya baru saja melakukannya, untuk berjaga-jaga ... Kami membuka TrustedHosts
file.
nano /etc/opendkim/TrustedHosts
Dan tambahkan di akhir file:
otherdomain.com
Satu hal terakhir: kami menunjukkan isi file /etc/opendkim/keys/otherdomain.com/default.txt
.
cat /etc/opendkim/keys/otherdomain.com/default.txt
Dan menambahkan informasi antara tanda kutip ke TXT
catatan di Zona DNS domain, dan kita juga harus menggunakan default._domainkey
sebagai nama catatan. CATATAN: "antara tanda kutip" adalah teks yang dimulai dengan " v=DKIM1;k=rsa; p=WIGfM...
".
Jika kami sudah selesai menambahkan domain (sekarang), kami memulai kembali semuanya untuk menerapkan perubahan.
/etc/init.d/opendkim restart
/etc/init.d/postfix reload
/etc/init.d/postfix restart
Selesai!
/etc/opendkim/TrustedHosts
file IP host hanya harus ada di sana sekali, terlepas dari berapa banyak domain yang dijalankan melalui host ini. Jika Anda ingin menggunakan pemilih lain,default
pastikan untuk mengubahnya di semua file!*@
bagian depan nama domain di SigningTable; tidak ada yang ditandatangani sampai saya memperbaiki ini. cc: @the_nuts# touch /etc/opendkim/KeyTable
# touch /etc/opendkim/SigningTable
Script ini mengotomatiskan bagian setelah "Selesai! Server siap bekerja dengan DKIM"
Untuk membantu mengotomatiskan proses ini sedikit, saya membuat skrip bash ini. Cukup tambahkan satu 'domain.com' per baris di dalam array domains = ().
Pertama buat file dan direktori jika belum ada
file spfs.txt akan berisi semua catatan spf yang perlu Anda tambahkan ke catatan DNS Anda untuk setiap domain.
CATATAN: jangan dijalankan lebih dari sekali, itu tidak memeriksa untuk melihat apakah domain sudah ada. Script juga harus dijalankan sebagai root.
sumber
Script ini mengotomatiskan bagian setelah "Selesai! Server siap bekerja dengan DKIM"
Untuk membantu mengotomatiskan proses ini sedikit, saya membuat skrip bash ini. Cukup tambahkan satu domain seperti 'example.com' per baris di dalam array domains = ().
Script ini membuat file untuk Anda dan memeriksa apakah suatu baris sudah ada dalam file
Spfs.txt dihapus dan diciptakan kembali setiap kali dijalankan dan memeriksa baris ke-2 default.txt terhadap spfs.txt sebelum menambahkan
Anda harus menempatkan server Anda ipv4 dan ipv6 (jika Anda memilikinya) dalam variabel yang disediakan. Ia memeriksa apakah mereka tidak kosong
Anda dapat menjalankan file ini beberapa kali berkat cek yang ditambahkan.
sumber