Faith Evans feat. Stevie J – "A Minute" [Official Music Video]
สารบัญ:
นี่คือการโพสต์ที่สองของการตั้งค่าและการกำหนดค่าชุดเซิร์ฟเวอร์อีเมลของเรา ในบทความนี้เราจะแสดงวิธีการติดตั้งและกำหนดค่า Postfix และ Dovecot ซึ่งเป็นองค์ประกอบหลักสองประการของระบบอีเมลของเรา
Postfix เป็น open-source mail transfer agent (MTA) ซึ่งเป็นบริการที่ใช้ในการส่งและรับอีเมล Dovecot เป็นเซิร์ฟเวอร์ IMAP / POP3 และในการตั้งค่าของเราก็จะจัดการการส่งมอบในท้องถิ่นและการตรวจสอบผู้ใช้
บทช่วยสอนนี้เขียนขึ้นสำหรับ Ubuntu 16.04 แต่ขั้นตอนเดียวกันกับการดัดแปลงเล็กน้อยควรทำงานบน Ubuntu รุ่นใหม่กว่า
ข้อกำหนดเบื้องต้น
ก่อนดำเนินการกับบทช่วยสอนนี้ต่อให้แน่ใจว่าคุณได้เข้าสู่ระบบในฐานะผู้ใช้ที่มีสิทธิ์ sudo
ติดตั้ง Postfix และ Dovecot
แพ็คเกจ Dovecot ในที่เก็บเริ่มต้นของ Ubuntu นั้นล้าสมัยแล้ว เพื่อใช้ประโยชน์จากโมดูล
imap_sieve
เราจะติดตั้ง Dovecot จากที่เก็บชุมชน Dovecot
เพิ่มที่เก็บคีย์ GPG ลงในพวงกุญแจ apt source ของคุณด้วยคำสั่ง wget ต่อไปนี้:
wget -O- https://repo.dovecot.org/DOVECOT-REPO-GPG | sudo apt-key add -
เปิดใช้งานที่เก็บชุมชน Dovecot โดยใช้คำสั่งต่อไปนี้:
echo "deb https://repo.dovecot.org/ce-2.3-latest/ubuntu/$(lsb_release -cs) $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/dovecot.list
sudo apt update
sudo debconf-set-selections <<< "postfix postfix/mailname string $(hostname -f)"
sudo debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
sudo apt install postfix postfix-mysql dovecot-imapd dovecot-lmtpd dovecot-pop3d dovecot-mysql
การกำหนดค่า Postfix
เราจะตั้งค่า Postfix ให้ใช้กล่องจดหมายและโดเมนเสมือน
เริ่มต้นด้วยการสร้างไฟล์กำหนดค่า
sql
ซึ่งจะแนะนำวิธีการเข้าถึงฐานข้อมูล MySQL ที่สร้างขึ้นในส่วนแรกของชุดนี้
sudo mkdir -p /etc/postfix/sql
เปิดโปรแกรมแก้ไขข้อความของคุณและสร้างไฟล์ต่อไปนี้:
/etc/postfix/sql/mysql_virtual_domains_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT domain FROM domain WHERE domain='%s' AND active = '1'
/etc/postfix/sql/mysql_virtual_alias_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
/etc/postfix/sql/mysql_virtual_mailbox_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'
/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT maildir FROM mailbox, alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active='1'
เมื่อสร้างไฟล์กำหนดค่า SQL แล้วให้อัปเดตไฟล์กำหนดค่า postfix หลักเพื่อรวมข้อมูลเกี่ยวกับโดเมนเสมือนผู้ใช้และชื่อแทนซึ่งจัดเก็บไว้ในฐานข้อมูล MySQL
sudo postconf -e "virtual_mailbox_domains = mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf"
sudo postconf -e "virtual_alias_maps = mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf"
sudo postconf -e "virtual_mailbox_maps = mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf"
sudo postconf -e "virtual_alias_maps = mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf"
sudo postconf -e "virtual_mailbox_maps = mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf"
คำสั่ง postconf แสดงค่าที่แท้จริงของพารามิเตอร์การกำหนดค่าเปลี่ยนค่าพารามิเตอร์การตั้งค่าหรือแสดงข้อมูลการกำหนดค่าอื่น ๆ เกี่ยวกับระบบเมล Postfix
ตัวแทนจัดส่งในพื้นที่จะส่งอีเมลขาเข้าไปยังกล่องจดหมายของผู้ใช้ เรียกใช้คำสั่งต่อไปนี้เพื่อตั้งค่าบริการ LMTP ของ Dovecot เป็นการขนส่งการส่งจดหมายเริ่มต้น:
sudo postconf -e "virtual_transport = lmtp:unix:private/dovecot-lmtp"
ตั้งค่าพารามิเตอร์ TL โดยใช้ใบรับรอง SSL ที่เข้ารหัสไว้ก่อนหน้านี้:
sudo postconf -e 'smtp_tls_security_level = may'
sudo postconf -e 'smtpd_tls_security_level = may'
sudo postconf -e 'smtp_tls_note_starttls_offer = yes'
sudo postconf -e 'smtpd_tls_loglevel = 1'
sudo postconf -e 'smtpd_tls_received_header = yes'
sudo postconf -e 'smtpd_tls_cert_file = /etc/letsencrypt/live/mail.linuxize.com/fullchain.pem'
sudo postconf -e 'smtpd_tls_key_file = /etc/letsencrypt/live/mail.linuxize.com/privkey.pem'
กำหนดการตั้งค่า SMTP ที่มีการรับรองความถูกต้องและส่งมอบการรับรองความถูกต้องให้กับ Dovecot:
sudo postconf -e 'smtpd_sasl_type = dovecot'
sudo postconf -e 'smtpd_sasl_path = private/auth'
sudo postconf -e 'smtpd_sasl_local_domain ='
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
sudo postconf -e 'smtpd_sasl_local_domain ='
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
sudo postconf -e 'smtpd_sasl_local_domain ='
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
sudo postconf -e 'broken_sasl_auth_clients = yes'
sudo postconf -e 'smtpd_sasl_auth_enable = yes'
sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination'
นอกจากนี้เราจะต้องแก้ไขไฟล์กำหนดค่าหลักของ Postfix
master.cf
และเปิดใช้งานพอร์ตการส่ง (
587
) และพอร์ต smtps (
465
)
เปิดไฟล์ด้วยโปรแกรมแก้ไขข้อความของคุณและยกเลิกการใส่เครื่องหมายข้อคิดเห็น / แก้ไขบรรทัดต่อไปนี้:
ไฟล์ิ /etc/postfix/master.cf
submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=permit_sasl_authenticated, reject # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated, reject -o milter_macro_daemon_name=ORIGINATING smtps inet n - y - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=permit_sasl_authenticated, reject # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated, reject -o milter_macro_daemon_name=ORIGINATING
เริ่มบริการ postfix ใหม่เพื่อให้การเปลี่ยนแปลงมีผล
sudo systemctl restart postfix
ณ จุดนี้คุณได้กำหนดค่าบริการ Postfix เรียบร้อยแล้ว
กำหนดค่า Dovecot
ในส่วนนี้เราจะกำหนดค่า Dovecot ให้ตรงกับการตั้งค่าของเรา ตรวจสอบให้แน่ใจว่าคุณแก้ไขบรรทัดที่เน้นสีเหลือง
เริ่มต้นด้วยการกำหนดค่าไฟล์
dovecot-sql.conf.ext
ที่สั่งให้ Dovecot วิธีเข้าถึงฐานข้อมูลและวิธีค้นหาข้อมูลเกี่ยวกับบัญชีอีเมล
driver = mysql connect = host=127.0.0.1 dbname=postfixadmin user=postfixadmin password=P4ssvv0rD default_pass_scheme = MD5-CRYPT iterate_query = SELECT username AS user FROM mailbox user_query = SELECT CONCAT('/var/mail/vmail/', maildir) AS home, \ CONCAT('maildir:/var/mail/vmail/', maildir) AS mail, \ 5000 AS uid, 5000 AS gid, CONCAT('*:bytes=', quota) AS quota_rule \ FROM mailbox WHERE username = '%u' AND active = 1 password_query = SELECT username AS user, password FROM mailbox \ WHERE username = '%u' AND active='1'
อย่าลืมใช้ข้อมูลรับรอง MySQL ที่ถูกต้อง (dbname ผู้ใช้และรหัสผ่าน)
ถัดไปแก้ไขไฟล์
conf.d/10-mail.conf
และแก้ไขตัวแปรต่อไปนี้:
… mail_location = maildir:/var/mail/vmail/%d/%n… mail_uid = vmail mail_gid = vmail… first_valid_uid = 5000 last_valid_uid = 5000… mail_privileged_group = vmail… mail_plugins = quota…
ในการทำให้การตรวจสอบสิทธิ์ใช้งานได้ให้เปิด
conf.d/10-auth.conf
แก้ไขบรรทัดต่อไปนี้และรวมไฟล์
auth-sql.conf.ext
:
… disable_plaintext_auth = yes… auth_mechanisms = plain login… #!include auth-system.conf.ext !include auth-sql.conf.ext…
เปิดไฟล์
conf.d/10-master.conf
และแก้ไขดังต่อไปนี้:
… service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix }… }… service auth {… unix_listener auth-userdb { mode = 0600 user = vmail group = vmail }… unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }… }… service auth-worker { user = vmail }… service dict { unix_listener dict { mode = 0660 user = vmail group = vmail } }…
เปิด
conf.d/10-ssl.conf
และเปิดใช้งาน SSL / TLS
… ssl = yes… ssl_cert = Make sure you use the correct path to the SSL certificate files.
If you have followed this series from the beginning, you should already have the
fullchain.pem
,
privkey.pem
,
dhparam.pem
files created on your server. For more information about how to create a free Let's encrypt SSL certificate and Diffie–Hellman key check this tutorial.
Thanks to Nevyn for noticing the problem and providing a solution.
… ssl = yes… ssl_cert = Make sure you use the correct path to the SSL certificate files.
If you have followed this series from the beginning, you should already have the
fullchain.pem
,
privkey.pem
,
dhparam.pem
files created on your server. For more information about how to create a free Let's encrypt SSL certificate and Diffie–Hellman key check this tutorial.
Thanks to Nevyn for noticing the problem and providing a solution.
เปิดไฟล์
conf.d/20-imap.conf
และเปิดใช้งานปลั๊กอิน
imap_quota
:
… protocol imap {… mail_plugins = $mail_plugins imap_quota… }…
เปิดไฟล์
conf.d/20-lmtp.conf
และแก้ไขดังต่อไปนี้:
… protocol lmtp { postmaster_address = [email protected] mail_plugins = $mail_plugins }…
กำหนดกล่องจดหมายเริ่มต้นในไฟล์
conf.d/20-lmtp.conf
:
… mailbox Drafts { special_use = \Drafts } mailbox Spam { special_use = \Junk auto = subscribe } mailbox Junk { special_use = \Junk }…
มีขนาดโควต้าสองประเภทที่แตกต่างกันหนึ่งรายการถูกตั้งค่าสำหรับทั้งโดเมนและอีกหนึ่งรายการต่อกล่องจดหมายของผู้ใช้ ในส่วนก่อนหน้าของชุดนี้เราได้เปิดใช้งานการสนับสนุนโควต้าใน PostfixAdmin ซึ่งหมายความว่าข้อมูลโควต้าจะถูกเก็บไว้ในฐานข้อมูล PostfixAdmin
ตอนนี้เราต้องกำหนดค่า Dovecot เพื่อเชื่อมต่อกับฐานข้อมูลจัดการขีด จำกัด โควต้าและเรียกใช้สคริปต์ที่ส่งจดหมายไปยังผู้ใช้เมื่อโควต้าของผู้ใช้เกินขีด จำกัด ที่ระบุ ให้เปิดไฟล์
conf.d/90-quota.conf
และแก้ไขดังต่อไปนี้:
plugin { quota = dict:User quota::proxy::sqlquota quota_rule = *:storage=5GB quota_rule2 = Trash:storage=+100M quota_grace = 10%% quota_exceeded_message = Quota exceeded, please contact your system administrator. quota_warning = storage=100%% quota-warning 100 %u quota_warning2 = storage=95%% quota-warning 95 %u quota_warning3 = storage=90%% quota-warning 90 %u quota_warning4 = storage=85%% quota-warning 85 %u } service quota-warning { executable = script /usr/local/bin/quota-warning.sh user = vmail unix_listener quota-warning { group = vmail mode = 0660 user = vmail } } dict { sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext }
นอกจากนี้เรายังต้องบอก dovecot วิธีการเข้าถึงพจนานุกรมโควต้า SQL เปิดไฟล์
dovecot-dict-sql.conf.ext
และแก้ไขบรรทัดต่อไปนี้:
… connect = host=127.0.0.1 dbname=postfixadmin user=postfixadmin password=P4ssvv0rD… map { pattern = priv/quota/storage table = quota2 username_field = username value_field = bytes } map { pattern = priv/quota/messages table = quota2 username_field = username value_field = messages }… # map { # pattern = shared/expire/$user/$mailbox # table = expires # value_field = expire_stamp # # fields { # username = $user # mailbox = $mailbox # } # }…
ตรวจสอบให้แน่ใจว่าคุณใช้ข้อมูลรับรอง MySQL ที่ถูกต้อง (dbname ผู้ใช้และรหัสผ่าน)
สร้างเชลล์สคริปต์ต่อไปนี้ซึ่งจะส่งอีเมลไปยังผู้ใช้หากโควต้าเกินขีด จำกัด ที่ระบุ:
/usr/local/bin/quota-warning.sh
#!/bin/sh PERCENT=$1 USER=$2 cat << EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o "plugin/quota=dict:User quota::noenforcing:proxy::sqlquota" From: [email protected] Subject: Quota warning Your mailbox is now $PERCENT% full. EOF
ทำให้สคริปต์เรียกทำงานได้โดยการรันคำสั่ง
chmod
ต่อไปนี้:
sudo chmod +x /usr/local/bin/quota-warning.sh
ในที่สุดรีสตาร์ทเซอร์วิส dovecot เพื่อให้การเปลี่ยนแปลงมีผล
sudo systemctl restart dovecot
ข้อสรุป
ถึงตอนนี้คุณควรมีระบบเมลที่ใช้งานได้อย่างสมบูรณ์ ในส่วนถัดไปของชุดนี้เราจะแสดงวิธีการติดตั้งและรวม Rspamd
เมลเซิร์ฟเวอร์ postfix dovecotโพสต์นี้เป็นส่วนหนึ่งของการตั้งค่าและกำหนดค่าเซิร์ฟเวอร์จดหมาย
โพสต์อื่น ๆ ในชุดนี้:
•ตั้งค่าเซิร์ฟเวอร์อีเมลด้วย PostfixAdmin •ติดตั้งและกำหนดค่า Postfix และ Dovecot •ติดตั้งและรวม Rspamd •ติดตั้งและกำหนดค่า Roundcube WebmailCDE จะใช้ได้โดยทั่วไป วันอังคาร รวมถึงตัวแก้ไขภาษาที่มีความสำคัญรวมกับดีบั๊กของ Eclipse และเอกสารประกอบ เข้ากันได้กับระบบปฏิบัติการ Linux และ Windows พร้อมกับ Eclipse 3.3 และ 3.4 SDK (ชุดพัฒนาซอฟต์แวร์) และ IDE ที่ใช้ Eclipse โดยใช้ SDK เวอร์ชันดังกล่าว

IDE เดิมของ Curl จะอยู่ร่วมกันเป็นเวลาหลายปีควบคู่ไปกับ Eclipse และในที่สุดก็จะเกษียณตามที่ Richard Treadway รองประธานฝ่ายกลยุทธ์การขายการตลาดและผลิตภัณฑ์
[อ่านเพิ่มเติม: โทรศัพท์ Android ที่ดีที่สุดสำหรับ ทุกงบประมาณ TD-LTE ใช้ TD-SCDMA ของจีน (Time Division Syndrome Division Division Multiple Access) ซึ่งเป็นพื้นฐานของเครือข่าย 3G ของ China Mobile (โทรคมนาคมยุคที่สาม) China Mobile กำลังทำงานร่วมกับ Vodafone Group และ Verizon Wireless เพื่อทดสอบการรวมกันของ TD-LTE และ LTE-FDD (Frequency Division Duplex version of LTE) ) เทคโนโลยี Vodafone และ Verizon หวังว่าจะขยายออกไป

ทั้งสาม บริษัท ประกาศแผนการที่จะทำงานร่วมกันในเดือนกุมภาพันธ์ เหตุผลหนึ่งที่พวกเขาเลือกที่จะผสมผสานความพยายามคือการทำให้ทั้งสองเทคโนโลยีมีราคาลดลงโดยการส่งเสริมการรวมกันของพวกเขาในชิปเซ็ตและส่วนประกอบอื่น ๆ
มองออกไปว่า Nero และ Roxio: ชุด DVD Suite 7 ของ Cyberlink ซึ่งเป็นสื่อและชุดการเขียนแผ่นดิสก์ - เป็นแรงที่ต้องคำนึงถึง ไม่เพียง แต่เป็นการเล่นเกมที่มีเนื้อหาแบบอินเทอร์เนทที่เรียบง่ายและใช้งานได้ง่ายซึ่งทำให้คนใน Nero 9 และ Roxio Creator 2009 รู้สึกอับอาย แต่ก็มีชุดคุณลักษณะการแข่งขันไว้ด้วย เช่นเดียวกับ Nero และ Roxio suite บางครั้งก็มีฟังก์ชันการทำงานเหมือนกันในโมดูลมากกว่าหนึ่งโมดูล แต่ต้องไม่ทำให้เกิดความสับสนในระดับเดียวกัน

DVD Suite 7 ประกอบด้วย CyberLink PowerDVD 8 ซึ่งเป็นซอฟต์แวร์ชั้นนำในอุตสาหกรรมซอฟต์แวร์ (Blu-ray และ HD DVD) ) ผู้สร้าง / ผู้สร้างภาพยนตร์เรื่อง PowerDirector ที่ได้รับการจัดอันดับสูงผู้สร้างสไลด์โชว์ MediaShow ผู้สร้างแผ่นดิสก์ภาพยนตร์ PowerProducer และแอพพลิเคชันการเขียนดิสก์ Power2Go แต่ละโมดูลมีความสามารถในการใช้ความคิดและการใช้งานได้อย่างน้อย 9 ชิ้นคุณลักษณะใหม่ ๆ ในรุ่น 7 ได้แก่ ความสามารถของ PowerProducer ในการนำเข้าทั้ง h.264 และ AAC (เฉพาะรุ่น Ultra Suite ส่งออก h.264 เท่านั้น) และ Pow