![YouTube เพิ่งเปิดตัวสตรีมมิงทีวีสดของตัวเอง TV](/f/75591dcaabd37965f9822baaf4629d87.png?width=100&height=100)
NS สโมสรฟุตบอลลิเวอร์พูล (Linux Foundation Certified Engineer) เป็นผู้เชี่ยวชาญที่ผ่านการฝึกอบรมและมีทักษะในการติดตั้ง จัดการ และแก้ไขปัญหาบริการเครือข่ายในระบบ Linux และรับผิดชอบการออกแบบ การใช้งาน และการบำรุงรักษาสถาปัตยกรรมระบบและผู้ใช้อย่างต่อเนื่อง การบริหาร.
ขอแนะนำโปรแกรมการรับรองมูลนิธิ Linux
ในบทช่วยสอนก่อนหน้านี้ เราได้พูดถึงวิธีการติดตั้งส่วนประกอบที่จำเป็นของบริการอีเมล หากคุณยังไม่ได้ติดตั้ง Postfix และ โดฟคอต แต่โปรดอ่านตอนที่ 1 ของซีรีส์นี้เพื่อดูคำแนะนำในการดำเนินการก่อนดำเนินการต่อ
ในโพสต์นี้ ฉันจะแสดงวิธีกำหนดค่าเซิร์ฟเวอร์อีเมลของคุณและวิธีการทำงานต่อไปนี้:
บันทึก: การตั้งค่าของเราจะครอบคลุมเฉพาะเซิร์ฟเวอร์อีเมลสำหรับเครือข่ายท้องถิ่นที่เครื่องอยู่ในโดเมนเดียวกัน การส่งข้อความอีเมลไปยังโดเมนอื่นจำเป็นต้องมีการตั้งค่าที่ซับซ้อนมากขึ้น รวมถึงความสามารถในการแก้ไขชื่อโดเมน ซึ่งอยู่นอกขอบเขตของการรับรอง LFCE
แต่ก่อนอื่น เรามาเริ่มด้วยคำจำกัดความกันก่อน
รูปภาพต่อไปนี้แสดงขั้นตอนการขนส่งอีเมลโดยเริ่มจากผู้ส่งจนกว่าข้อความจะไปถึงกล่องจดหมายของผู้รับ:
เพื่อให้สิ่งนี้เป็นไปได้ มีหลายสิ่งเกิดขึ้นเบื้องหลัง เพื่อให้ข้อความอีเมลถูกส่งจากแอปพลิเคชันไคลเอนต์ (เช่น Thunderbird, Outlook หรือบริการเว็บเมลเช่น Gmail หรือ Yahoo! Mail) ไปยังเซิร์ฟเวอร์เมลของเขา / เธอ จากนั้นไปยังเซิร์ฟเวอร์ปลายทางและสุดท้ายถึงผู้รับที่ต้องการ บริการ SMTP (Simple Mail Transfer Protocol) จะต้องอยู่ในสถานที่ในแต่ละเซิร์ฟเวอร์
เมื่อพูดถึงบริการอีเมล คุณจะพบคำต่อไปนี้ที่กล่าวถึงบ่อยมาก:
เอ็มทีเอ (ย่อจาก จดหมาย หรือ ตัวแทนขนส่งข้อความ) aka mail relay เป็นซอฟต์แวร์ที่รับผิดชอบในการถ่ายโอนข้อความอีเมลจากเซิร์ฟเวอร์ไปยังไคลเอนต์ (และในทางกลับกันด้วย) ในชุดนี้ Postfix ทำหน้าที่เป็น MTA ของเรา
หมู่, หรือ ตัวแทนผู้ใช้จดหมายเป็นโปรแกรมคอมพิวเตอร์ที่ใช้ในการเข้าถึงและจัดการกล่องจดหมายอีเมลของผู้ใช้ ตัวอย่างของ MUA รวมถึงแต่ไม่จำกัดเฉพาะอินเทอร์เฟซของ Thunderbird, Outlook และเว็บเมล เช่น Gmail, Outlook.com เป็นต้น ในชุดนี้ เราจะใช้ธันเดอร์เบิร์ดในตัวอย่างของเรา
MDA (ย่อจาก ข้อความ หรือ ตัวแทนจัดส่งทางไปรษณีย์) เป็นส่วนซอฟต์แวร์ที่ส่งข้อความอีเมลไปยังกล่องจดหมายของผู้ใช้จริง ในบทช่วยสอนนี้ เราจะใช้ Dovecot เป็น MDA ของเรา Dovecot จะจัดการการตรวจสอบผู้ใช้ด้วย
เพื่อให้ส่วนประกอบเหล่านี้สามารถ “พูดคุย” ซึ่งกันและกันพวกเขาจะต้อง “พูด" เหมือน "ภาษา” (หรือโปรโตคอล) คือ SMTP (Simple Mail Transfer Protocol) ตามที่กำหนดไว้ใน RFC 2821. เป็นไปได้มากว่าคุณจะต้องอ้างอิง RFC นั้นขณะตั้งค่าสภาพแวดล้อมเซิร์ฟเวอร์เมลของคุณ
โปรโตคอลอื่น ๆ ที่เราต้องคำนึงถึงคือ IMAP4 (โปรโตคอลการเข้าถึงข้อความอินเทอร์เน็ต) ซึ่งอนุญาตให้จัดการข้อความอีเมลโดยตรงบนเซิร์ฟเวอร์โดยไม่ต้องดาวน์โหลดไปยังฮาร์ดไดรฟ์ของไคลเอ็นต์ของเรา และ POP3 (โปรโตคอลที่ทำการไปรษณีย์) ซึ่งอนุญาตให้ดาวน์โหลดข้อความและโฟลเดอร์ไปยังคอมพิวเตอร์ของผู้ใช้
สภาพแวดล้อมการทดสอบของเรามีดังนี้:
ระบบปฏิบัติการเซิร์ฟเวอร์เมล: Debian Wheezy 7.5 ที่อยู่ IP: 192.168.0.15 โดเมนท้องถิ่น: example.com.ar นามแฝงผู้ใช้: [ป้องกันอีเมล] มีนามแฝงว่า [ป้องกันอีเมล] และ [ป้องกันอีเมล]
ระบบปฏิบัติการไคลเอนต์เมล: Ubuntu 12.04 ที่อยู่ IP: 192.168.0.103
ของเรา ลูกค้าเราได้ตั้งค่าการแก้ไข DNS เบื้องต้นโดยเพิ่มบรรทัดต่อไปนี้ใน /etc/hosts ไฟล์.
192.168.0.15 เซิร์ฟเวอร์อีเมล example.com.ar
โดยค่าเริ่มต้น ข้อความที่ส่งถึงผู้ใช้เฉพาะควรถูกส่งไปยังผู้ใช้รายนั้นเท่านั้น อย่างไรก็ตาม หากคุณต้องการส่งไปยังกลุ่มผู้ใช้ด้วยหรือให้กับผู้ใช้รายอื่น คุณสามารถสร้างนามแฝงของอีเมลหรือใช้ชื่อที่มีอยู่ใน /etc/postfix/aliasesตามไวยากรณ์นี้:
ผู้ใช้1: ผู้ใช้1, ผู้ใช้2
ดังนั้นอีเมลที่ส่งถึง ผู้ใช้1 จะส่งไปที่ .ด้วย ผู้ใช้2. โปรดทราบว่าหากคุณละเว้นคำว่า ผู้ใช้1 หลังลำไส้ใหญ่เช่นใน
ผู้ใช้1: ผู้ใช้2.
ข้อความที่ส่งถึง ผู้ใช้1 จะส่งไปที่ .เท่านั้น ผู้ใช้2และไม่ ผู้ใช้1.
ในตัวอย่างข้างต้น ผู้ใช้1 และ ผู้ใช้2 ควรมีอยู่แล้วในระบบ คุณอาจต้องการอ้างถึง ตอนที่ 8 ของซีรีส์ LFCS หากคุณต้องการรีเฟรชหน่วยความจำของคุณก่อนที่จะเพิ่มผู้ใช้ใหม่
ในกรณีเฉพาะของเรา เราจะใช้นามแฝงต่อไปนี้ตามที่อธิบายไว้ก่อนหน้า (เพิ่มบรรทัดต่อไปนี้ใน /etc/aliases).
ผู้ดูแลระบบ: gacanepa, jdoe.
และเรียกใช้คำสั่งต่อไปนี้เพื่อสร้างหรือรีเฟรชตารางค้นหานามแฝง
postalias / etc / postfix / นามแฝง.
เพื่อให้ข้อความส่งถึง [ป้องกันอีเมล] จะถูกส่งไปยังกล่องจดหมายของผู้ใช้ที่ระบุไว้ข้างต้น
ไฟล์กำหนดค่าหลักสำหรับ Postfix เป็น /etc/postfix/main.cf. คุณต้องตั้งค่าพารามิเตอร์เพียงไม่กี่ตัวเท่านั้นจึงจะสามารถใช้บริการอีเมลได้ อย่างไรก็ตาม คุณควรทำความคุ้นเคยกับพารามิเตอร์การกำหนดค่าแบบเต็ม (ซึ่งสามารถระบุได้ด้วย ผู้ชาย 5 postconf) เพื่อตั้งค่าเซิร์ฟเวอร์อีเมลที่ปลอดภัยและปรับแต่งได้อย่างเต็มที่
บันทึก: ว่าบทช่วยสอนนี้ควรให้คุณเริ่มต้นในกระบวนการนั้นเท่านั้น และไม่ได้แสดงถึงคำแนะนำที่ครอบคลุมเกี่ยวกับบริการอีเมลกับ Linux
เปิด /etc/postfix/main.cf ไฟล์ด้วยการเลือกตัวแก้ไขและทำการเปลี่ยนแปลงตามที่อธิบายไว้
# vi /etc/postfix/main.cf.
1. myorigin ระบุโดเมนที่ปรากฏในข้อความที่ส่งจากเซิร์ฟเวอร์ คุณอาจเห็น /etc/mailname ไฟล์ที่ใช้กับพารามิเตอร์นี้ อย่าลังเลที่จะแก้ไขหากจำเป็น
myorigin = / etc / ชื่อเมล
หากใช้ค่าข้างต้น เมลจะถูกส่งเป็น [ป้องกันอีเมล]โดยที่ผู้ใช้คือผู้ใช้ที่ส่งข้อความ
2. ปลายทางของฉัน แสดงรายการโดเมนที่เครื่องนี้จะส่งข้อความอีเมลในเครื่อง แทนที่จะส่งต่อไปยังเครื่องอื่น (ทำหน้าที่เป็นระบบส่งต่อ) การตั้งค่าเริ่มต้นจะเพียงพอในกรณีของเรา (ตรวจสอบให้แน่ใจว่าได้แก้ไขไฟล์เพื่อให้เหมาะกับสภาพแวดล้อมของคุณ)
ที่ไหน /etc/postfix/transport file กำหนดความสัมพันธ์ระหว่างโดเมนและเซิร์ฟเวอร์ถัดไปที่ข้อความเมลควรส่งต่อ ในกรณีของเรา เนื่องจากเราจะส่งข้อความไปยังเครือข่ายท้องถิ่นของเราเท่านั้น (ดังนั้นจึงข้ามการแก้ปัญหา DNS ภายนอก) การกำหนดค่าต่อไปนี้ก็เพียงพอแล้ว
example.com.ar ท้องถิ่น: .example.com.ar ท้องถิ่น:
ต่อไปเราต้องแปลงไฟล์ข้อความธรรมดานี้เป็น .db ซึ่งสร้างตารางค้นหาที่ Postfix จะใช้จริง ๆ เพื่อทราบว่าต้องทำอย่างไรกับอีเมลขาเข้าและขาออก
# postmap / etc / postfix / ขนส่ง.
คุณจะต้องอย่าลืมสร้างตารางนี้ขึ้นมาใหม่หากคุณเพิ่มรายการลงในไฟล์ข้อความที่เกี่ยวข้อง
3. เครือข่ายของฉัน กำหนดเครือข่ายที่ได้รับอนุญาต Postfix จะส่งต่อข้อความจาก ค่าดีฟอลต์ subnet บอกให้ Postfix ส่งต่อเมลจากไคลเอนต์ SMTP ในเครือข่ายย่อย IP เดียวกันกับเครื่องในเครื่องเท่านั้น
mynetworks = ซับเน็ต
4. relay_domains ระบุปลายทางที่จะส่งอีเมลไป เราจะปล่อยให้ค่าเริ่มต้นไม่ถูกแตะต้องซึ่งชี้ไปที่ปลายทางของฉัน จำไว้ว่าเรากำลังตั้งค่าเมลเซิร์ฟเวอร์สำหรับ LAN ของเรา
relay_domains = $mydestination
โปรดทราบว่าคุณสามารถใช้ $mydestination แทนที่จะลงรายการเนื้อหาจริง
5. inet_interfaces กำหนดอินเทอร์เฟซเครือข่ายที่บริการอีเมลควรรับฟัง ค่าดีฟอลต์ all บอกให้ Postfix ใช้อินเทอร์เฟซเครือข่ายทั้งหมด
inet_interfaces = ทั้งหมด
6. ในที่สุด, mailbox_size_limit และ message_size_limit จะถูกใช้เพื่อกำหนดขนาดของกล่องจดหมายของผู้ใช้แต่ละรายและขนาดสูงสุดที่อนุญาตของแต่ละข้อความตามลำดับเป็นไบต์
กล่องจดหมาย_size_limit = 51200000 message_size_limit = 5120000.
NS Postfix SMTP เซิร์ฟเวอร์สามารถใช้ข้อจำกัดบางอย่างกับคำขอเชื่อมต่อไคลเอ็นต์แต่ละรายการ ไคลเอ็นต์ทั้งหมดไม่ควรได้รับอนุญาตให้ระบุตัวเองไปยังเซิร์ฟเวอร์อีเมลโดยใช้ smtp สวัสดี คำสั่ง และแน่นอนว่าไม่ใช่ทั้งหมดที่ได้รับการเข้าถึงเพื่อส่งหรือรับข้อความ
เพื่อนำข้อจำกัดเหล่านี้ไปใช้ เราจะใช้คำสั่งต่อไปนี้ใน main.cf ไฟล์. แม้ว่าพวกเขาจะอธิบายตนเองได้ แต่ก็มีการเพิ่มความคิดเห็นเพื่อจุดประสงค์ในการชี้แจง
# กำหนดให้ไคลเอนต์ SMTP ระยะไกลแนะนำตัวเองด้วยคำสั่ง HELO หรือ EHLO ก่อนส่งคำสั่ง MAIL หรือคำสั่งอื่นๆ ที่ต้องมีการเจรจา EHLO smtpd_helo_required = ใช่ # อนุญาตคำขอเมื่อที่อยู่ IP ของไคลเอ็นต์ตรงกับเครือข่ายหรือที่อยู่เครือข่ายที่ระบุไว้ใน $mynetworks # ปฏิเสธคำขอเมื่อคำสั่งไคลเอ็นต์ HELO และ EHLO มีไวยากรณ์ชื่อโฮสต์ที่ไม่ถูกต้อง smtpd_helo_restrictions = อนุญาต_mynetworks, ปฏิเสธ_invalid_helo_hostname # ปฏิเสธคำขอเมื่อ Postfix ไม่แสดงปลายทางสุดท้ายของที่อยู่ผู้ส่ง smtpd_sender_restrictions = อนุญาต_mynetworks, ปฏิเสธ_unknown_sender_domain # ปฏิเสธคำขอ เว้นแต่ 1) Postfix ทำหน้าที่เป็นผู้ส่งต่อจดหมายหรือ 2) เป็นปลายทางสุดท้าย smtpd_recipient_restrictions = อนุญาต_mynetworks, ปฏิเสธ_unaauth_destination
พารามิเตอร์การกำหนดค่า Postfix หน้า postconf อาจมีประโยชน์เพื่อสำรวจตัวเลือกที่มีเพิ่มเติม
ทันทีหลังจากติดตั้ง dovecot ก็รองรับ. ได้ทันที POP3 และ IMAP โปรโตคอล พร้อมด้วยเวอร์ชันที่ปลอดภัย POP3S และ IMAPSตามลำดับ
เพิ่มบรรทัดต่อไปนี้ใน /etc/dovecot/conf.d/10-mail.conf ไฟล์.
# %u หมายถึงบัญชีผู้ใช้ที่เข้าสู่ระบบ # กล่องจดหมายอยู่ในรูปแบบ mbox mail_location = mbox:~/mail: INBOX=/var/mail/%u# ไดเร็กทอรีที่เป็นของกลุ่มเมลและไดเร็กทอรีที่ตั้งค่าเป็น group-writable (mode=0770, group=mail) # คุณอาจต้องเปลี่ยนการตั้งค่านี้หาก postfix ใช้งานผู้ใช้ / กลุ่มอื่นในระบบของคุณmail_privileged_group = เมล
หากคุณตรวจสอบโฮมไดเร็กตอรี่ของคุณ คุณจะสังเกตเห็นว่ามีไดเร็กทอรีย่อยเมลที่มีเนื้อหาดังต่อไปนี้
นอกจากนี้ โปรดทราบว่า /var/mail/%u file คือที่เก็บเมลของผู้ใช้ในระบบส่วนใหญ่
เพิ่มคำสั่งต่อไปนี้เพื่อ /etc/dovecot/dovecot.conf (โปรดทราบว่า imap และ pop3 หมายถึง imaps และ pop3 ด้วย)
โปรโตคอล = imap pop3
และให้แน่ใจว่า /etc/conf.d/10-ssl.conf รวมบรรทัดต่อไปนี้ (มิฉะนั้นให้เพิ่ม)
ssl_cert =มาเริ่มกันใหม่ โดฟคอต และตรวจสอบว่ารับฟังพอร์ตที่เกี่ยวข้องกับ imap, imaps, pop3 และ pop3s หรือไม่
# netstat -npltu | grep นกพิราบตรวจสอบพอร์ตการฟัง การตั้งค่าไคลเอนต์เมลและการส่ง/รับเมล
บนคอมพิวเตอร์ไคลเอนต์ของเรา เราจะเปิด ธันเดอร์เบิร์ด และคลิกที่ ไฟล์ → ใหม่ → บัญชีเมลที่มีอยู่. เราจะได้รับแจ้งให้ป้อนชื่อบัญชีและที่อยู่อีเมลที่เกี่ยวข้องพร้อมกับรหัสผ่าน เมื่อเราคลิก ดำเนินการต่อ, ธันเดอร์เบิร์ดจะพยายามเชื่อมต่อกับเซิร์ฟเวอร์เมลเพื่อตรวจสอบการตั้งค่า
กำหนดค่าไคลเอนต์เมล ทำซ้ำขั้นตอนข้างต้นสำหรับบัญชีถัดไป ([ป้องกันอีเมล]) และกล่องจดหมายสองกล่องต่อไปนี้ควรปรากฏในบานหน้าต่างด้านซ้ายของ Thunderbird
กล่องจดหมายของผู้ใช้ บนเซิร์ฟเวอร์ของเรา เราจะเขียนข้อความอีเมลถึง ผู้ดูแลระบบซึ่งใช้นามแฝงว่า jdoe และ gacanepa.
ส่งจดหมายจาก Commandline บันทึกจดหมาย (/var/log/mail.log) ดูเหมือนจะบ่งบอกว่าอีเมลที่ส่งถึง ผู้ดูแลระบบ ถูกส่งต่อไปยัง [ป้องกันอีเมล] และ [ป้องกันอีเมล]ดังสามารถเห็นได้ในภาพต่อไปนี้
ตรวจสอบสถานะการส่งจดหมาย เราสามารถตรวจสอบได้ว่าอีเมลถูกส่งถึงลูกค้าของเราจริงหรือไม่ โดยที่บัญชี IMAP นั้นได้รับการกำหนดค่าในธันเดอร์เบิร์ด
ยืนยันข้อความอีเมล สุดท้ายนี้ลองส่งข้อความจาก [ป้องกันอีเมล] ถึง [ป้องกันอีเมล].
ส่งข้อความถึงผู้ใช้ ในการสอบ คุณจะถูกขอให้ทำงานเฉพาะกับโปรแกรมอรรถประโยชน์บรรทัดคำสั่งเท่านั้น ซึ่งหมายความว่าคุณจะไม่สามารถติดตั้งแอปพลิเคชันไคลเอนต์เดสก์ท็อปเช่น ธันเดอร์เบิร์ดแต่จะต้องใช้เมลแทน เราใช้ธันเดอร์เบิร์ดในบทนี้เพื่อจุดประสงค์ในการอธิบายเท่านั้น
บทสรุป
ในโพสต์นี้ เราได้อธิบายวิธีตั้งค่า an IMAP เมลเซิร์ฟเวอร์สำหรับเครือข่ายท้องถิ่นของคุณและวิธีจำกัดการเข้าถึง SMTP เซิร์ฟเวอร์ หากคุณพบปัญหาขณะใช้การตั้งค่าที่คล้ายกันในสภาพแวดล้อมการทดสอบของคุณ คุณจะต้องตรวจสอบเอกสารออนไลน์ของ Postfix และ โดฟคอต (โดยเฉพาะหน้าเกี่ยวกับไฟล์การกำหนดค่าหลัก /etc/postfix/main.cf และ /etc/dovecot/dovecot.confตามลำดับ) แต่ในกรณีใด ๆ อย่าลังเลที่จะติดต่อฉันโดยใช้แบบฟอร์มแสดงความคิดเห็นด้านล่าง ฉันยินดีที่จะช่วยเหลือคุณมากกว่า
มาเป็นวิศวกรที่ผ่านการรับรองของ Linux