ฉันสร้างไฟล์ ssl โดยใช้ letsencrypt และทุกอย่างได้รับการติดตั้งและกำหนดค่าแล้ว แต่ IMAP และ SMTP ของฉันไม่ทำงาน สิ่งที่ฉันพบได้จากไฟล์ /var/log/mail.log คือข้อผิดพลาดนี้:
dovecot: imap-login: ตัดการเชื่อมต่อ (ตัดการเชื่อมต่อก่อนที่การตรวจสอบสิทธิ์จะพร้อม รอ 0 วินาที): user=<>, การจับมือ TLS: SSL_accept() ล้มเหลว: ข้อผิดพลาด: 14094412: รูทีน SSL:ssl3_read_bytes:sslv3 การแจ้งเตือนใบรับรองไม่ถูกต้อง: การแจ้งเตือน SSL หมายเลข 42
ไม่มีบันทึกสำหรับความล้มเหลวของ SMTP
/etc/postfix/main.cf
# ดู /usr/share/postfix/main.cf.dist สำหรับความคิดเห็นฉบับสมบูรณ์
# เฉพาะ Debian: การระบุชื่อไฟล์จะทำให้เกิดสิ่งแรก
# บรรทัดของไฟล์ที่จะใช้เป็นชื่อ ค่าเริ่มต้นของเดเบียน
# คือ /etc/mailname
#myorigin = /etc/ชื่อเมล
smtpd_banner = $myhostname ESMTP $mail_name (อูบุนตู)
บิฟ = ไม่
# ต่อท้าย .domain คืองานของ MUA
append_dot_mydomain = ไม่
# ยกเลิกการแสดงความคิดเห็นในบรรทัดถัดไปเพื่อสร้างคำเตือน "จดหมายล่าช้า"
#delay_warning_time = 4 ชม
readme_directory = ไม่
# ดู http://www.postfix.org/COMPATIBILITY_README.html -- ค่าเริ่มต้นเป็น 2 บน
#ติดตั้งใหม่.
ความเข้ากันได้_ระดับ = 2
# พารามิเตอร์ TLS
smtpd_tls_cert_file=/etc/letsencrypt/live/domain.net/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/domain.net/privkey.pem
smtpd_tls_security_level=พฤษภาคม
smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=พฤษภาคม
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
ชื่อโฮสต์ของฉัน = mail.domain.net
alias_maps = แฮช:/etc/aliases
alias_database = แฮช:/etc/aliases
myorigin = /etc/ชื่อเมล
mydestination = $myhostname, domain.net, blue, localhost.localdomain, localhost
รีเลย์โฮสต์ =
เครือข่ายของฉัน = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
ผู้รับ_ตัวคั่น = +
inet_interfaces = ทั้งหมด
inet_protocols = ทั้งหมด
mailbox_transport = lmtp:unix:private/dovecot-lmtp
smtputf8_enable = ไม่
# การกำหนดค่ามิลเตอร์
milter_default_action = ยอมรับ
milter_protocol=6
smtpd_milters = ท้องถิ่น:opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters
10-ssl.conf
##
## การตั้งค่า SSL
##
# รองรับ SSL/TLS: ใช่ ไม่ใช่ จำเป็น <doc/wiki/SSL.txt>
ssl = จำเป็น
# PEM เข้ารหัสใบรับรอง X.509 SSL/TLS และคีย์ส่วนตัว พวกเขากำลังเปิดก่อน
# ปล่อยสิทธิ์การรูท ดังนั้นอย่าให้ใครก็ตามที่อ่านไฟล์คีย์ไม่ได้
#ราก. สามารถใช้ doc/mkcert.sh ที่รวมอยู่เพื่อสร้างการลงนามด้วยตนเองได้อย่างง่ายดาย
# ใบรับรอง เพียงตรวจสอบให้แน่ใจว่าได้อัปเดตโดเมนใน dovecot-openssl.cnf
ssl_cert = </etc/letsencrypt/live/domain.net/fullchain.pem
ssl_key = </etc/letsencrypt/live/domain.net/privkey.pem
# หากไฟล์คีย์มีการป้องกันด้วยรหัสผ่าน ให้ป้อนรหัสผ่านที่นี่ อีกทางหนึ่ง
# ให้เมื่อเริ่ม dovecot ด้วย -p พารามิเตอร์ เนื่องจากไฟล์นี้มักจะ
# อ่านได้ทั่วโลก คุณอาจต้องการตั้งค่านี้แทนการตั้งค่าอื่น
# root เป็นเจ้าของไฟล์ 0600 โดยใช้ ssl_key_password = <path.
#ssl_key_password =
# ผู้ออกใบรับรองที่เชื่อถือได้เข้ารหัส PEM ตั้งค่านี้เฉพาะเมื่อคุณตั้งใจจะใช้
# ssl_verify_client_cert=ใช่ ไฟล์ควรมีใบรับรอง CA
# ตามด้วย CRL ที่ตรงกัน (เช่น ssl_ca = </etc/ssl/certs/ca.pem)
#ssl_ca =
# กำหนดให้การตรวจสอบ CRL สำเร็จสำหรับใบรับรองไคลเอ็นต์
#ssl_require_crl = ใช่
# ไดเร็กทอรีและ/หรือไฟล์สำหรับใบรับรอง SSL CA ที่เชื่อถือได้ สิ่งเหล่านี้ใช้เท่านั้น
# เมื่อ Dovecot จำเป็นต้องทำหน้าที่เป็นไคลเอ็นต์ SSL (เช่น imapc backend หรือ
#บริการยื่นเรื่อง). ไดเร็กทอรีมักจะเป็น /etc/ssl/certs in
# ระบบที่ใช้ Debian และไฟล์คือ /etc/pki/tls/cert.pem ใน
# ระบบที่ใช้ RedHat
ssl_client_ca_dir = /etc/ssl/certs
#ssl_client_ca_file =
# ต้องมีใบรับรองที่ถูกต้องเมื่อเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล
#ssl_client_require_valid_cert = ใช่
#ขอให้ลูกค้าส่งใบรับรอง หากคุณต้องการกำหนดให้ตั้งค่า
# auth_ssl_require_client_cert=ใช่ ในส่วนการรับรองความถูกต้อง
#ssl_verify_client_cert = ไม่
# ฟิลด์ใดจากใบรับรองที่จะใช้สำหรับชื่อผู้ใช้ ชื่อสามัญและ
# x500UniqueIdentifier เป็นตัวเลือกตามปกติ คุณจะต้องตั้งค่าด้วย
# auth_ssl_username_from_cert=ใช่
#ssl_cert_username_field = ชื่อสามัญ
# พารามิเตอร์ SSL DH
# สร้างพารามิเตอร์ใหม่ด้วย `openssl dhparam -out /etc/dovecot/dh.pem 4096`
# หรือย้ายจากไฟล์ ssl-parameters.dat เก่าด้วยคำสั่ง dovecot
# ให้เมื่อเริ่มต้นเมื่อไม่ได้ตั้งค่า ssl_dh
ssl_dh = </usr/share/dovecot/dh.pem
# เวอร์ชันโปรโตคอล SSL ขั้นต่ำที่จะใช้ ค่าที่อาจรู้จักคือ SSLv3
# TLSv1, TLSv1.1 และ TLSv1.2 ขึ้นอยู่กับเวอร์ชัน OpenSSL ที่ใช้
#ssl_min_โปรโตคอล = TLSv1
# รหัส SSL ที่จะใช้ ค่าเริ่มต้นคือ:
#ssl_cipher_list = ทั้งหมด:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH
# หากต้องการปิดใช้งาน non-EC DH ให้ใช้:
#ssl_cipher_list = ทั้งหมด:!DH:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@ ความแข็งแกร่ง
# รายการคั่นด้วยโคลอนของเส้นโค้งวงรีที่จะใช้ ค่าว่าง (ค่าเริ่มต้น)
# หมายถึงใช้ค่าเริ่มต้นจากไลบรารี SSL P-521:P-384:P-256 จะเป็น
# ตัวอย่างค่าที่ถูกต้อง
#ssl_curve_list =
# ชอบลำดับรหัสของเซิร์ฟเวอร์มากกว่าไคลเอนต์
#ssl_prefer_server_ciphers = ใช่
# อุปกรณ์ SSL crypto ที่จะใช้สำหรับค่าที่ถูกต้องให้รัน "openssl engine"
#ssl_crypto_device =
# ตัวเลือกเสริม SSL ตัวเลือกที่รองรับในปัจจุบันคือ:
# การบีบอัด - เปิดใช้งานการบีบอัด
# no_ticket - ปิดใช้งานตั๋วเซสชัน SSL
#ssl_options =
ssl_min_protocol = TLSv1.2
โฮสต์เสมือนของ Apache mail.domain.net.conf
<VirtualHost *:80>
ServerName mail.domain.net
DocumentRoot /var/www/html/
ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/html/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName mail.domain.net
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/html/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/domain.net/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.net/privkey.pem
</VirtualHost>
dovecot.conf
## ไฟล์กำหนดค่า Dovecot
# หากคุณรีบ โปรดดูที่ http://wiki2.dovecot.org/QuickConfiguration
# คำสั่ง "doveconf -n" ให้ผลลัพธ์ที่สะอาดของการตั้งค่าที่เปลี่ยนแปลง ใช้มัน
# แทนการคัดลอกและวางไฟล์เมื่อโพสต์ไปยังรายชื่อผู้รับจดหมายของ Dovecot
# อักขระ '#' และทุกอย่างหลังจากนั้นถือเป็นความคิดเห็น พื้นที่พิเศษ
# และแท็บจะถูกละเว้น หากคุณต้องการใช้อย่างใดอย่างหนึ่งอย่างชัดเจน ให้ใส่
# ค่าภายในเครื่องหมายคำพูด เช่น: คีย์ = "# ถ่านและช่องว่างต่อท้าย "
# การตั้งค่าส่วนใหญ่ (แต่ไม่ใช่ทั้งหมด) สามารถถูกแทนที่ด้วยโปรโตคอลและ/หรือที่แตกต่างกัน
# IP ต้นทาง/ปลายทาง โดยการตั้งค่าภายในส่วนต่างๆ เช่น
# โปรโตคอล imap { }, โลคัล 127.0.0.1 { }, รีโมต 10.0.0.0/8 { }
# ค่าเริ่มต้นจะแสดงสำหรับการตั้งค่าแต่ละรายการ ไม่จำเป็นต้องยกเลิกการแสดงความคิดเห็น
# เหล่านั้น. สิ่งเหล่านี้เป็นข้อยกเว้น: ไม่มีส่วน (เช่น เนมสเปซ {})
# หรือการตั้งค่าปลั๊กอินจะถูกเพิ่มโดยค่าเริ่มต้น ซึ่งจะแสดงเป็นเพียงตัวอย่างเท่านั้น
# เส้นทางเป็นเพียงตัวอย่างที่มีค่าเริ่มต้นจริงตามการกำหนดค่า
# ตัวเลือก. เส้นทางที่แสดงที่นี่มีไว้สำหรับ configuration --prefix=/usr
# --sysconfdir=/etc --localstatedir=/var
# เปิดใช้งานโปรโตคอลที่ติดตั้ง
โปรโตคอล = imap lmtp
!include_try /usr/share/dovecot/protocols.d/*.protocol
# รายการที่คั่นด้วยเครื่องหมายจุลภาคของ IP หรือโฮสต์ที่จะรับฟังการเชื่อมต่อ
# "*" ฟังในอินเทอร์เฟซ IPv4 ทั้งหมด "::" ฟังในอินเทอร์เฟซ IPv6 ทั้งหมด
# หากคุณต้องการระบุพอร์ตที่ไม่ใช่ค่าเริ่มต้นหรืออะไรที่ซับซ้อนกว่านี้
# แก้ไข conf.d/master.conf
#ฟัง = *, ::
# ไดเรกทอรีฐานที่จะเก็บข้อมูลรันไทม์
#base_dir = /var/run/dovecot/
#ชื่อของตัวอย่างนี้ ในการตั้งค่า doveadm หลายอินสแตนซ์และคำสั่งอื่นๆ
# สามารถใช้ -i <instance_name> เพื่อเลือกอินสแตนซ์ที่จะใช้ (ทางเลือกอื่น
# ถึง -c <config_path>) ชื่ออินสแตนซ์ยังถูกเพิ่มไปยังกระบวนการ Dovecot
# ในเอาต์พุต ps
#instance_name = นกพิราบ
#ข้อความทักทายสำหรับลูกค้า
#login_greeting = โดฟคอตพร้อม
# รายการคั่นด้วยช่องว่างของช่วงเครือข่ายที่เชื่อถือได้ การเชื่อมต่อจากสิ่งเหล่านี้
# IP ได้รับอนุญาตให้แทนที่ที่อยู่ IP และพอร์ต (สำหรับการบันทึกและ
#สำหรับตรวจสอบสิทธิ์). จะถูกละเว้นด้วยเช่นกัน
#เครือข่ายเหล่านี้ โดยทั่วไป คุณจะต้องระบุพร็อกซีเซิร์ฟเวอร์ IMAP ของคุณที่นี่
#login_trusted_networks =
# รายการแยกช่องของซ็อกเก็ตตรวจสอบการเข้าถึงการเข้าสู่ระบบ (เช่น tcpwrap)
#login_access_sockets =
# ด้วย proxy_maybe=yes หากปลายทางของพร็อกซีตรงกับ IP เหล่านี้ อย่าทำ
#มอบฉันทะ. โดยปกติแล้วสิ่งนี้ไม่จำเป็น แต่อาจมีประโยชน์หากปลายทาง
# IP เช่น IP ของตัวจัดสรรภาระงาน
#auth_proxy_self =
# แสดงชื่อกระบวนการอย่างละเอียดมากขึ้น (เป็น ps) ขณะนี้แสดงชื่อผู้ใช้และ
# ที่อยู่ IP. มีประโยชน์สำหรับการดูว่าใครกำลังใช้กระบวนการ IMAP จริงๆ
# (เช่น กล่องจดหมายที่ใช้ร่วมกัน หรือหากใช้ uid เดียวกันสำหรับหลายบัญชี)
#verbose_proctitle = ไม่
# ควรหยุดกระบวนการทั้งหมดเมื่อกระบวนการหลัก Dovecot ปิดตัวลง
# การตั้งค่านี้เป็น "ไม่" หมายความว่าสามารถอัปเกรด Dovecot ได้โดยไม่ต้องใช้
# บังคับให้ปิดการเชื่อมต่อไคลเอนต์ที่มีอยู่ (แม้ว่าจะเป็นเช่นนั้นก็ตาม
# ปัญหาหากการอัปเกรดเป็นเช่น เนื่องจากการแก้ไขความปลอดภัย)
#shutdown_clients = ใช่
# ถ้าไม่ใช่ศูนย์ ให้รันคำสั่งเมลผ่านการเชื่อมต่อจำนวนมากนี้ไปยังเซิร์ฟเวอร์ doveadm
# แทนที่จะเรียกใช้โดยตรงในกระบวนการเดียวกัน
#doveadm_worker_count = 0
# ซ็อกเก็ต UNIX หรือโฮสต์: พอร์ตที่ใช้สำหรับเชื่อมต่อกับเซิร์ฟเวอร์ doveadm
#doveadm_socket_path = เซิร์ฟเวอร์ doveadm
# รายการตัวแปรสภาพแวดล้อมที่คั่นด้วยช่องว่างที่เก็บรักษาไว้บน Dovecot
# เริ่มต้นและส่งต่อไปยังกระบวนการลูกทั้งหมด คุณยังสามารถให้
# คีย์ = ค่าคู่เพื่อตั้งค่าเฉพาะเสมอ
#import_environment = TZ
##
## การตั้งค่าเซิร์ฟเวอร์พจนานุกรม
##
# พจนานุกรมสามารถใช้เพื่อเก็บรายการคีย์ = ค่า สิ่งนี้ถูกใช้โดยหลายคน
#ปลั๊กอิน พจนานุกรมสามารถเข้าถึงได้โดยตรงหรือแม้ว่า ก
#เซิร์ฟเวอร์พจนานุกรม บล็อก dict ต่อไปนี้จับคู่ชื่อพจนานุกรมกับ URI
# เมื่อเซิร์ฟเวอร์ถูกใช้งาน สิ่งเหล่านี้สามารถอ้างอิงได้โดยใช้ URIs ในรูปแบบ
# "พร็อกซี::<ชื่อ>".
คำสั่ง {
#quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
#expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
}
# การกำหนดค่าจริงส่วนใหญ่รวมอยู่ด้านล่าง ชื่อไฟล์คือ
# อันดับแรก จัดเรียงตามค่า ASCII และแยกวิเคราะห์ตามลำดับนั้น คำนำหน้า 00
# ในชื่อไฟล์มีไว้เพื่อให้ง่ายต่อการเข้าใจการสั่งซื้อ
!include conf.d/*.conf
# สามารถลองรวมไฟล์ปรับแต่งได้โดยไม่แจ้งข้อผิดพลาดหาก
#ไม่พบ:
!include_try local.conf
10-auth.conf
##
## ขั้นตอนการพิสูจน์ตัวตน
##
# ปิดใช้งานคำสั่ง LOGIN และการตรวจสอบสิทธิ์ข้อความธรรมดาอื่นๆ ทั้งหมด เว้นแต่
# ใช้ SSL/TLS (ความสามารถในการล็อกอินปิดการใช้งาน) โปรดทราบว่าหาก IP ระยะไกล
# ตรงกับ IP ในเครื่อง (เช่น คุณกำลังเชื่อมต่อจากคอมพิวเตอร์เครื่องเดียวกัน), the
# การเชื่อมต่อถือว่าปลอดภัยและอนุญาตให้ใช้การรับรองความถูกต้องแบบข้อความธรรมดา
# ดูเพิ่มเติมที่ ssl=การตั้งค่าที่จำเป็น
ปิดการใช้งาน_plaintext_auth = ใช่
# ขนาดแคชการรับรองความถูกต้อง (เช่น 10M) 0 หมายถึงปิดใช้งาน โปรดทราบว่า
# bsdauth, PAM และ vpopmail ต้องตั้งค่า cache_key เพื่อให้แคชใช้งานได้
#auth_cache_size = 0
# เวลาที่จะมีชีวิตอยู่สำหรับข้อมูลที่แคชไว้ หลังจาก TTL หมดอายุ ระเบียนที่แคชไว้จะไม่มี
# ใช้อีกต่อไป *ยกเว้น* หากการค้นหาฐานข้อมูลหลักส่งคืนความล้มเหลวภายใน
# เรายังพยายามจัดการการเปลี่ยนแปลงรหัสผ่านโดยอัตโนมัติ: หากเป็นผู้ใช้ก่อนหน้า
# การรับรองความถูกต้องสำเร็จ แต่อันนี้ไม่ ไม่ได้ใช้แคช
# สำหรับตอนนี้ใช้ได้กับการรับรองความถูกต้องแบบข้อความธรรมดาเท่านั้น
#auth_cache_ttl = 1 ชั่วโมง
# TTL สำหรับการเข้าชมเชิงลบ (ไม่พบผู้ใช้ รหัสผ่านไม่ตรงกัน)
# 0 ปิดใช้งานการแคชอย่างสมบูรณ์
#auth_cache_negative_ttl = 1 ชั่วโมง
# รายการขอบเขตที่คั่นด้วยช่องว่างสำหรับกลไกการพิสูจน์ตัวตน SASL ที่ต้องการ
# พวกเขา. คุณสามารถเว้นว่างไว้ได้หากคุณไม่ต้องการสนับสนุนหลายอาณาจักร
# ลูกค้าจำนวนมากใช้รายการแรกที่แสดงไว้ที่นี่ ดังนั้นให้ใช้ขอบเขตเริ่มต้น
# แรก.
#auth_realms =
# เริ่มต้น realm/domain ที่จะใช้ถ้าไม่ได้ระบุ สิ่งนี้ใช้สำหรับทั้งสองอย่าง
# ขอบเขต SASL และต่อท้าย @domain กับชื่อผู้ใช้ในการเข้าสู่ระบบข้อความธรรมดา
#auth_default_realm =
# รายการอักขระที่อนุญาตในชื่อผู้ใช้ หากชื่อผู้ใช้ที่ผู้ใช้กำหนดประกอบด้วย
# ตัวอักษรที่ไม่มีอยู่ในนี้ การเข้าสู่ระบบล้มเหลวโดยอัตโนมัติ นี่เป็นเพียง
# การตรวจสอบเพิ่มเติมเพื่อให้แน่ใจว่าผู้ใช้ไม่สามารถใช้ประโยชน์จากการเสนอราคาที่อาจเกิดขึ้นได้
# ช่องโหว่กับฐานข้อมูล SQL/LDAP หากต้องการอนุญาตทุกตัวอักษร
# ตั้งค่านี้เป็นค่าว่าง
#auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
# การแปลอักขระชื่อผู้ใช้ก่อนที่จะค้นหาจากฐานข้อมูล เดอะ
# ค่าประกอบด้วยชุดของจาก -> ถึงอักขระ ตัวอย่างเช่น "#@/@" หมายถึง
# อักขระ '#' และ '/' นั้นแปลเป็น '@'
#auth_username_translation =
# การจัดรูปแบบชื่อผู้ใช้ก่อนที่จะค้นหาจากฐานข้อมูล คุณสามารถใช้ได้
# ตัวแปรมาตรฐานที่นี่เช่น %Lu จะพิมพ์ชื่อผู้ใช้ให้เล็กลง %n จะ
# ทิ้งโดเมนหากได้รับ มิฉะนั้น "%n-AT-%d" จะเปลี่ยน '@' เป็น
# "-ที่-". การแปลนี้เสร็จสิ้นหลังจากการเปลี่ยนแปลง auth_username_translation
auth_username_format = %n
# หากคุณต้องการอนุญาตให้ผู้ใช้หลักเข้าสู่ระบบโดยระบุต้นแบบ
# ชื่อผู้ใช้ภายในสตริงชื่อผู้ใช้ปกติ (เช่น ไม่ได้ใช้กลไกของ SASL
# รองรับ) คุณสามารถระบุอักขระตัวคั่นได้ที่นี่ รูปแบบ
# คือ <ชื่อผู้ใช้><ตัวคั่น><ชื่อผู้ใช้หลัก> UW-IMAP ใช้ "*" เป็นไฟล์
#ตัวคั่น ดังนั้นนั่นอาจเป็นทางเลือกที่ดี
#auth_master_user_separator =
# ชื่อผู้ใช้ที่จะใช้สำหรับผู้ใช้ที่เข้าสู่ระบบด้วยกลไก ANONYMOUS SASL
#auth_anonymous_username = ไม่ระบุตัวตน
# จำนวนสูงสุดของกระบวนการของผู้ปฏิบัติงาน dovecot-auth พวกเขาใช้ในการดำเนินการ
# ปิดกั้นการสืบค้น passdb และ userdb (เช่น MySQL และ PAM) พวกเขากำลัง
# สร้างและทำลายโดยอัตโนมัติตามต้องการ
#auth_worker_max_count = 30
# ชื่อโฮสต์ที่จะใช้ในชื่อหลัก GSSAPI ค่าเริ่มต้นคือการใช้
# ชื่อที่ส่งคืนโดย gethostname() ใช้ "$ALL" (พร้อมเครื่องหมายคำพูด) เพื่ออนุญาตแท็บคีย์ทั้งหมด
# รายการ.
#auth_gssapi_hostname =
# แท็บ Kerberos เพื่อใช้สำหรับกลไก GSSAPI จะใช้ระบบ
# ค่าเริ่มต้น (ปกติคือ /etc/krb5.keytab) หากไม่ได้ระบุ คุณอาจต้องเปลี่ยน
# บริการรับรองความถูกต้องเพื่อเรียกใช้ในฐานะรูทเพื่อให้สามารถอ่านไฟล์นี้ได้
#auth_krb5_keytab =
# ทำการรับรองความถูกต้อง NTLM และ GSS-SPNEGO โดยใช้ winbind daemon ของ Samba และ
# ตัวช่วย ntlm_auth <doc/wiki/Authentication/Mechanisms/Winbind.txt>
#auth_use_winbind = ไม่
# เส้นทางสำหรับไบนารีตัวช่วย ntlm_auth ของ Samba
#auth_winbind_helper_path = /usr/bin/ntlm_auth
# เวลาที่ล่าช้าก่อนที่จะตอบกลับการตรวจสอบสิทธิ์ที่ล้มเหลว
#auth_failure_delay = 2 วินาที
# ต้องมีใบรับรองไคลเอ็นต์ SSL ที่ถูกต้อง มิฉะนั้นการตรวจสอบสิทธิ์จะล้มเหลว
#auth_ssl_require_client_cert = ไม่
# ใช้ชื่อผู้ใช้จากใบรับรอง SSL ของลูกค้าโดยใช้
# X509_NAME_get_text_by_NID() ซึ่งส่งคืน DN ของหัวเรื่อง
#ชื่อสามัญ.
#auth_ssl_username_from_cert = ไม่
# รายการคั่นด้วยช่องว่างของกลไกการตรวจสอบสิทธิ์ที่ต้องการ:
# เข้าสู่ระบบธรรมดาdigest-md5 cram-md5 ntlm rpa apop gssapi otp skeyที่ไม่ระบุชื่อ
#gss-spnego
# หมายเหตุ: โปรดดูที่การตั้งค่า enable_plaintext_auth
auth_mechanisms = เข้าสู่ระบบธรรมดา
##
## รหัสผ่านและฐานข้อมูลผู้ใช้
##
#
# ฐานข้อมูลรหัสผ่านใช้เพื่อตรวจสอบรหัสผ่านของผู้ใช้ (และไม่มีอะไรเพิ่มเติม)
# คุณสามารถมีหลาย passdbs และ userdbs สิ่งนี้มีประโยชน์หากคุณต้องการ
# อนุญาตให้ทั้งผู้ใช้ระบบ (/ etc / passwd) และผู้ใช้เสมือนเข้าสู่ระบบโดยไม่ต้อง
# การทำซ้ำผู้ใช้ระบบลงในฐานข้อมูลเสมือน
#
# <doc/wiki/PasswordDatabase.txt>
#
# ฐานข้อมูลผู้ใช้ระบุว่าอีเมลอยู่ที่ใดและ ID ผู้ใช้/กลุ่มใด
#เป็นเจ้าของได้. สำหรับการกำหนดค่า UID เดียวให้ใช้ userdb "คงที่"
#
# <doc/wiki/UserDatabase.txt>
#!include auth-deny.conf.ext
#!include auth-master.conf.ext
!รวมถึง auth-system.conf.ext
#!include-sql.conf.ext
#!include auth-ldap.conf.ext
#!include auth-passwdfile.conf.ext
#!include-checkpassword.conf.ext
#!include auth-vpopmail.conf.ext
#!include auth-static.conf.ext
ในการตั้งค่า DNS ของฉัน ฉันมีระเบียน "A mail IP" และระเบียน "MX domain.net mail.domain.net"