ไม่ไม่จำเป็นต้องตั้งค่าแคช DNS บนเซิร์ฟเวอร์ เซิร์ฟเวอร์ควรใช้ตัวแก้ไข DNS แคชซึ่งอยู่ใกล้ ๆ แต่ บริษัท โฮสติ้งส่วนใหญ่ใช้ตัวแก้ไขของตัวเองสำหรับดาต้าเซ็นเตอร์ทั้งหมดแล้วกำหนดค่าเซิร์ฟเวอร์ให้ใช้งานโดยค่าเริ่มต้น
ตามค่าเริ่มต้นทั้ง Postfix และ Dovecot จะใช้บัญชีภายในสำหรับทุกสิ่ง หากคุณมีบัญชี Linux ชื่อditi
คุณสามารถเข้าสู่ Dovecot กับมันและคุณสามารถตั้งค่า Postfix เพื่อเข้าสู่ระบบการตรวจสอบ SMTP กับ Dovecot
หากคุณพอใจกับการส่งจดหมายทั้งหมดไปที่บัญชีเดียวกันคุณสามารถตั้งค่านามแฝงธรรมดา (เหมือนใน/etc/aliases
) เพื่อเปลี่ยนเส้นทางอีเมลสำหรับkra@
หรือpostmaster@
ไปยังditi
บัญชี
หัวเรื่องทั้งหมดไม่จำเป็นต้องมีชื่อ คนเดียวที่คุณต้องเป็นชื่อโดเมนที่คุณกำลังจะจริงใช้เช่นหรือmail.diti.me
glaux.diti.me
ฉันไม่แน่ใจว่าคุณจะต้องรวมโดเมนของตัวเอง (เช่นditi.me
)
ต่อไปนี้จะถือว่าโดเมนมีระเบียน MX ที่กำหนดค่าให้ชี้ไปที่เซิร์ฟเวอร์นี้แล้ว ฉันมักจะพยายามทำให้การกำหนดค่าของฉันชัดเจนพอสมควรเนื่องจากฉันมักจะสงสัยว่า "สิ่งนี้คืออะไรสำหรับ" ไม่กี่เดือนต่อมา
1.ก่อนอื่นให้ติดตั้งpostfix
และdovecot-imapd
แพ็คเกจ เมื่อได้รับแจ้งเกี่ยวกับการกำหนดค่า Postfix ให้เลือกตัวเลือก "อินเทอร์เน็ตไซต์" และป้อนditi.me
เป็นชื่ออีเมล ณ จุดนี้คุณสามารถส่งและรับจดหมายเป็นditi@diti.me
และอาจเชื่อมต่อกับ IMAP
อย่างไรก็ตามมันยังไม่มี SSL หรือไม่อนุญาตให้ส่งจดหมายผ่าน SMTP จากภายนอกหรือสถานที่ที่มีเหตุผลในการจัดเก็บจดหมาย (ค่าเริ่มต้นคือไฟล์ mbox /var/mail
ซึ่งไม่น่าเชื่อถือและให้ประสิทธิภาพที่ไม่ดีโดยเฉพาะกับ IMAP)
2.หากคุณมีใบรับรอง SSL ใส่ไว้ในและที่สำคัญภาคเอกชนใน/etc/ssl/private/diti.me.pem
/etc/ssl/private/diti.me.key
ตำแหน่งที่แน่นอนนั้นไม่สำคัญ แต่/etc/ssl/private
เป็นที่ที่ Debian เก็บไว้
ตรวจสอบให้แน่ใจว่าทั้งสองไฟล์เป็นของกลุ่มและสามารถอ่านได้โดยssl-cert
กลุ่มเพื่อให้ Postfix และ Dovecot สามารถเข้าถึงได้ gpasswd -a
นอกจากนี้ยังเพิ่มบัญชีทั้งภูตไปยังกลุ่มที่ใช้
3. Postfix ที่สร้างขึ้นโดยอัตโนมัติของ Debian main.cf
นั้นค่อนข้างยุ่งเหยิงเช่นกันดังนั้นฉันจะโพสต์เวอร์ชันขั้นต่ำที่ทำความสะอาดแล้ว:
ข้อมูลเซิร์ฟเวอร์ #
mydomain = diti.me
myorigin = $ mydomain
# พารามิเตอร์อื่น ๆ ที่หลากหลายใช้ตัวแปรทั้งสองนี้เป็นค่าเริ่มต้น
# บริการ SMTP
smtpd_tls_security_level = พฤษภาคม
smtpd_tls_cert_file = /etc/ssl/private/diti.me-mail.pem
smtpd_tls_key_file = /etc/ssl/private/diti.me-mail.key
# สิ่งนี้อนุญาตให้ STARTTLS ใช้กับการเชื่อมต่อ SMTP ขาเข้าทั้งหมด
# โปรดทราบว่าต้องเพิ่ม `postfix 'ในกลุ่ม` ssl-cert` เพื่อให้สามารถ
# เพื่อเข้าถึงไฟล์ใน / etc / ssl / private
# นโยบาย
mynetworks = [:: 1] / 128, 127.0.0.0/8, [::ffff:127.0.0.0 Same/104
# รายการนี้แสดงที่อยู่ IP ที่ถือว่า "เชื่อถือได้" และสามารถใช้ได้
# เซิร์ฟเวอร์นี้เพื่อส่งจดหมายไปยังภายนอก (เช่นไปยังโดเมนอื่น) โดย
# ค่าเริ่มต้นอนุญาตเฉพาะ "localhost" เท่านั้น จากคนอื่นเท่านั้นที่ส่งถึง
# โดเมนใน $ mydestination จะได้รับการยอมรับ
mydestination = $ mydomain, localhost
# รายการโดเมนที่จะรับจดหมายจากที่อยู่ IP ใด ๆ
# การจัดส่ง
alias_maps = hash: / etc / aliases
# นี่ทำให้ชื่อแทนทั้งระบบ มันเป็นการดีที่จะตั้งไว้อย่างชัดเจนเพราะ
# ค่าเริ่มต้นบางครั้งรวม NIS ซึ่งไม่สมเหตุสมผล
ผู้รับ = +
# บอกทาง postfix เพื่อแยกส่วนที่อยู่ในพื้นที่ที่แรก '+'
# ที่เรียกว่า "plus-addressing": อีเมลที่ส่งถึง diti + foo @ จะถูกส่ง
# ไปยังกล่องจดหมาย diti @
สำหรับ Dovecot เดเบียนใช้ตัวอย่างการกำหนดค่าเริ่มต้นและดีพอโดยมีตัวเลือกแต่ละตัวอธิบายไว้
เมื่อใดก็ตามที่คุณเปลี่ยนการตั้งค่า, ภูตโหลดด้วยและpostfix reload
/ หรือdoveadm reload
4.ตามค่าเริ่มต้น Postfix จะส่งจดหมายไปยัง/var/mail/$USER
ในรูปแบบmboxซึ่งง่ายพอ (คุณสามารถดูได้ด้วยเครื่องมือแก้ไขข้อความ) แต่มีปัญหามากมายโดยเฉพาะกับ IMAP เนื่องจากไฟล์ทั้งหมดจะต้องถูกเขียนใหม่ทุกครั้งที่คุณย้าย ข้อความหรือทำเครื่องหมายว่า "อ่าน" หรือ "ยังไม่ได้อ่าน"
เปลี่ยน daemons ทั้งสองเพื่อใช้ Maildir (มีรูปแบบอื่น ๆ แต่มีแนวโน้มที่จะเฉพาะกับเซิร์ฟเวอร์ MTA หรือ MDA หรือ IMAP หรืออะไรก็ตาม Maildir ได้รับการสนับสนุนอย่างกว้างขวาง)
ใน/etc/postfix/main.cf
เพิ่มสิ่งต่อไปนี้ในส่วน "การจัดส่ง":
home_mailbox = จดหมาย /
กำหนดค่า Dovecot เพื่อใช้เส้นทางเดียวกันใน/etc/dovecot/conf.d/10-mail.conf
:
mail_location = maildir: ~ / Mail
5.ในบางจุดคุณต้องบอกให้ Dovecot ใช้ SSL ด้วย /etc/dovecot/conf.d/10-ssl.conf
การตั้งค่าที่เกี่ยวข้องอยู่ใน ที่จริงแล้วแพ็คเกจ Debian สำหรับ Dovecot ใช้ SSL อยู่แล้วแม้ว่าจะมีใบรับรองที่ลงนามเองซึ่งไร้ประโยชน์เป็นส่วนใหญ่ กำหนดค่าให้ใช้ใบรับรองของคุณเอง:
ssl = ใช่
ssl_cert = </etc/ssl/private/diti.me-mail.pem
ssl_key = </etc/ssl/private/diti.me-mail.key
6.ตอนนี้คุณสามารถส่งจดหมายไปที่ข้างนอกและรับมันได้ ยังจำเป็นต้องกำหนดค่า Postfix เพื่อให้คุณสามารถส่งจากภายนอกโดยเชื่อมต่อกับไคลเอนต์อีเมลของคุณผ่าน SMTP
ก่อนอื่นบอก Postfix ให้ใช้ Dovecot เพื่อตรวจสอบการเข้าสู่ระบบ คำแนะนำต่อไปนี้จะถูกนำส่วนใหญ่มาจากวิกิพีเดีย Dovecot ของ
/etc/dovecot/conf.d/10-master.conf
ความต้องการของ Dovecot เพื่อฟังบนซ็อกเก็ตที่ Postfix สามารถเข้าถึงได้ การกำหนดค่าเริ่มต้นมีตัวอย่างการแสดงความคิดเห็นแล้ว:
บริการรับรองความถูกต้อง
...
unix_listener / var / spool / postfix / private / auth {
โหมด = 0660
user = postfix
group = postfix
}
...
}
และ Postfix จำเป็นต้องใช้ - /etc/postfix/main.cf
อีกครั้ง:
# รับรองความถูกต้อง
smtpd_sasl_type = dovecot
smtpd_sasl_path = ส่วนตัว / รับรองความถูกต้อง
# ประเภทที่เป็นไปได้อื่น ๆ คือ "cyrus" สำหรับ Cyrus SASL 'saslauthd'
# daemon ฉันเลือก Dovecot ที่นี่เนื่องจากใช้งานได้ดีกับเซิร์ฟเวอร์ SASL และ
# มันง่ายกว่าที่จะให้มันจัดการกับการตรวจสอบสิทธิ์สำหรับ daemons ทั้งสอง
7.ขอให้สังเกตว่าข้างต้นไม่ได้ตั้งsmtpd_sasl_auth_enable
ที่ใดก็ได้ ข้อตกลงปัจจุบันคือไม่เปิดใช้งาน SMTP auth ทั่วโลก แต่เพื่อให้ tcp / 25 เป็นพอร์ต SMTP "ต่อเซิร์ฟเวอร์" โดยแท้ ในขณะเดียวกันข้อความใหม่จากผู้ใช้จะได้รับการยอมรับผ่าน SMTP บน tcp / 587 ซึ่งเป็นพอร์ต "การส่งจดหมาย" ซึ่งต้องมีการตรวจสอบสิทธิ์ ISP บางรายปิดกั้น tcp / 25 เนื่องจากสแปม แต่ให้เปิด tcp / 587 เนื่องจากมันจะปลอดภัยกว่า
เปิดใช้งานพอร์ต "Submission" ใน/etc/postfix/master.cf
โดยมี SASL auth ค่าเริ่มต้นmaster.cf
มีเส้นที่จำเป็นซึ่งจำเป็นต้องยกเลิกการใส่ความคิดเห็นไว้แล้วแม้ว่าบางบรรทัดก็ควรจะถูกทิ้งไว้
ส่ง inet n - - - - smtpd
-o syslog_name = postfix / ส่ง
-o smtpd_tls_security_level = เข้ารหัส
# พอร์ต "การส่ง" จะต้องใช้ TLS แทนที่จะทำให้เป็นตัวเลือก
-o smtpd_sasl_auth_enable = ใช่
# ... รวมถึงอนุญาตให้ผู้ใช้ลงชื่อเข้าใช้
# -o smtpd_reject_unlisted_recipient = no
# -o smtpd_client_restrictions = $ mua_client_restrictions
# -o smtpd_helo_restrictions = $ mua_helo_restrictions
# -o smtpd_sender_restrictions = $ mua_sender_restrictions
# ทั้งสี่ตัวเลือกสามารถออกความเห็น; หากเปิดใช้งานพวกเขาจะ
# คาดหวังให้คุณตั้งกฎการ จำกัด ที่กำหนดเองใน 'main.cf' แต่
# ค่าเริ่มต้นไม่เป็นไร
-o smtpd_recipient_restrictions = อนุญาต_sasl_authenticatedปฏิเสธ
# ค่าเริ่มต้น recipient_restrictions ตรวจสอบที่อยู่ IP และ
# $ mydestination สำหรับพอร์ต "การส่ง" ให้ทุกอย่างเป็นเวลานาน
# เป็นผู้ใช้ที่เข้าสู่ระบบ แต่ปฏิเสธเมลที่ไม่ระบุชื่อทั้งหมด
-o milter_macro_daemon_name = ORIGINATING
# หากคุณตัดสินใจตั้งค่าพร็อกซี DKIM ในภายหลังหรือสิ่งนี้จะอนุญาต
# มันเพื่อแยกจดหมายที่ผู้ใช้ส่งมาจากจดหมายขาเข้าที่ได้รับ
# เป็นส่วนหนึ่งของการกำหนดค่าเริ่มต้นดังนั้นจึงรวมอยู่ที่นี่ด้วย
หากคุณมีไคลเอนต์เมลที่ต้องการพอร์ต "implicit SSL" แบบเก่า (tcp / 465) คุณสามารถยกเลิกการใส่เครื่องหมายsmtps
บรรทัดในmaster.cf
- ถ้าคุณทำให้รักษาการตั้งค่าเหมือนกับsubmission
พอร์ต
8./etc/aliases
สุดท้ายตั้งค่านามแฝงสำหรับบัญชีของคุณโดยการแก้ไข postmaster
นามแฝงเป็นสิ่งจำเป็นโดยทั่วไป; เป็นจุดติดต่อหากมีปัญหากับเซิร์ฟเวอร์อีเมลของคุณ root
นามแฝงชี้และอื่น ๆ ที่คล้ายกันก็ดีเช่นกัน
รูปแบบพื้นฐานมีการบันทึกไว้ในนามแฝง (5):
postmaster: root
admin: root
root: diti
kra: diti
ใช้postalias
หรือnewaliases
เพื่ออัปเดตฐานข้อมูลที่ถูกแฮช/etc/aliases.db
ทุกครั้งที่คุณแก้ไขไฟล์นี้
ตอนนี้คุณยังมีบัญชีหนึ่งชื่อที่เรียกว่าditi
Postfix และ Dovecot แต่อีเมลที่ส่งไปkra@...
ยังจะถูกส่งต่อไปที่นั่นด้วย โปรแกรมรับส่งเมลบางตัว (เช่น Thunderbird) สนับสนุน "identities" หรือ "personas" หลายตัวสำหรับเซิร์ฟเวอร์อีเมลเดียวดังนั้นคุณสามารถเลือกที่อยู่ "จาก:" ที่แตกต่างกันได้
เกี่ยวกับมัน. ฉันอาจกลับมาพร้อมกับคำแนะนำสำหรับ procmail, โดเมนเสมือน, SPF และ / หรือ DKIM ในภายหลัง