ค้นหาเว็บไซต์

จะติดตั้งและกำหนดค่าเซิร์ฟเวอร์ SMTP บน Windows Server 2016/2012 R2 ได้อย่างไร


คุณสามารถติดตั้งเซิร์ฟเวอร์ SMTP โดยใช้เครื่องมือที่มีอยู่แล้วใน Windows Server ทุกรุ่น เซิร์ฟเวอร์ SMTP นี้สามารถทำงานเป็นบริการส่งต่ออีเมลที่ควรรับและส่งอีเมล SMTP จากอุปกรณ์ต่างๆ ในองค์กร (เช่น ผู้ส่ง เครื่องสแกน อุปกรณ์ควบคุมการเข้าถึง ฯลฯ) และแอปพลิเคชัน (เว็บแอป บริการรายงาน SQL, SharePoint) ซึ่งควรจะสามารถส่งจดหมายโดยใช้โปรโตคอล SMTP การส่งต่อดังกล่าวสามารถส่งข้อความไปยังเซิร์ฟเวอร์ Exchange ของคุณหรือไปยังบริการอีเมลสาธารณะ เช่น Gmail, Yahoo, Office 365 (outlook.com) ฯลฯ (เนื่องจากไม่แนะนำให้ปรับใช้โครงสร้างพื้นฐานอีเมลภายในที่มีคุณสมบัติครบถ้วนตาม Microsoft เสมอไป Exchange Server หรือบริการอีเมลอื่นๆ)

ในบทความนี้ เราจะแสดงวิธีการติดตั้ง กำหนดค่า และทดสอบ เซิร์ฟเวอร์ SMTP บน Windows Server 2012 R2, 2016 และ 2019 ที่ทำหน้าที่เป็น mail relay แข็งแรง>. เซิร์ฟเวอร์ SMTP นี้สามารถส่งหรือส่งต่ออีเมลเท่านั้น และไม่มีกล่องจดหมายของผู้ใช้

จะติดตั้งบริการ SMTP บน Windows Server 2016/2012 R2 ได้อย่างไร

บริการ SMTP เป็นหนึ่งในคุณสมบัติในตัวของ Windows Server ที่สามารถติดตั้งผ่าน Server Manager ในการดำเนินการ ให้เปิดแดชบอร์ด ตัวจัดการเซิร์ฟเวอร์ (servermanager.exe) ไปที่ เพิ่มบทบาทและคุณสมบัติ และทำเครื่องหมายที่ เซิร์ฟเวอร์ SMTP เมื่อเลือกคุณสมบัติ ติดตั้ง. ในการจัดการบริการ SMTP ให้ติดตั้งคอนโซลการจัดการ ซึ่งเป็นส่วนหนึ่งของบทบาทเว็บเซิร์ฟเวอร์ (IIS) ดังนั้นคุณจะได้รับแจ้งให้ติดตั้งคอมโพเนนต์ IIS บางอย่าง

ปล่อยให้ตัวเลือกที่แนะนำทั้งหมดของบทบาทเว็บเซิร์ฟเวอร์ (IIS) และเรียกใช้การติดตั้ง

คุณยังสามารถติดตั้งบทบาทเซิร์ฟเวอร์ SMTP โดยใช้คำสั่ง PowerShell:

Install-WindowsFeature smtp-server

หลังจากติดตั้งคอมโพเนนต์แล้ว คุณอาจต้องรีสตาร์ทเซิร์ฟเวอร์

การกำหนดค่าเซิร์ฟเวอร์ SMTP บน Windows Server

เซิร์ฟเวอร์ SMTP ยังคงได้รับการจัดการโดยใช้คอนโซลการจัดการโรงเรียนแบบเก่า Internet Information Services (IIS) Manager 6 คุณสามารถเปิดคอนโซลนี้ได้จาก Server Manager: Tools-> Internet Information Services (IIS) 6.0 Manager หรือด้วยคำสั่ง inetmgr6.exe

ขยายสาขาด้วยชื่อเซิร์ฟเวอร์ของคุณในตัวจัดการ IIS 6 คลิกขวา เซิร์ฟเวอร์เสมือน SMTP และเปิดคุณสมบัติ

บนแท็บ ทั่วไป หากจำเป็น ให้เลือกที่อยู่ IP ที่เซิร์ฟเวอร์ SMTP ควรตอบสนอง (หากเซิร์ฟเวอร์มีที่อยู่ IP หลายรายการ) และเลือกตัวเลือก เปิดใช้การบันทึก ( เพื่อบันทึกข้อมูลเกี่ยวกับอีเมลที่ได้รับทั้งหมดไปยังไฟล์บันทึกข้อความ)

จากนั้นไปที่แท็บ การเข้าถึง

ที่นี่คลิกปุ่ม การรับรองความถูกต้อง และตรวจสอบให้แน่ใจว่าเปิดใช้งาน การเข้าถึงแบบไม่ระบุชื่อ

กลับไปที่แท็บ การเข้าถึง แล้วคลิกปุ่ม การเชื่อมต่อ คุณสามารถระบุที่อยู่ IP ของอุปกรณ์ที่ได้รับอนุญาตให้ส่งอีเมลผ่านการส่งต่อ SMTP ได้ที่นี่ ในการดำเนินการ ให้เลือกรายการด้านล่างเท่านั้น และระบุรายการที่อยู่ IP (ซับเน็ต) อย่าลืมเกี่ยวกับตัวคุณเอง (127.0.0.1)

กำหนดค่าด้วยวิธีเดียวกับรายการ IP ที่อนุญาตในการตั้งค่ารีเลย์ (คลิกปุ่มที่เกี่ยวข้อง) ส่วนนี้ระบุว่าที่อยู่ IP (หรือเครือข่ายย่อย) ใดที่สามารถส่งต่ออีเมลผ่านเซิร์ฟเวอร์ SMTP ของคุณได้

หมายเหตุ ตามกฎทั่วไป คุณควรตรวจสอบตัวเลือกนี้และจำกัดรายการอุปกรณ์ที่ยอมรับด้วยช่วงที่อยู่ IP มิฉะนั้น เซิร์ฟเวอร์ SMTP ของคุณอาจถูกใช้โดยผู้ส่งสแปมและผู้โจมตีรายอื่นเป็นรีเลย์แบบเปิดสำหรับการส่งจดหมายจำนวนมาก

ไปที่แท็บ ข้อความ ที่นี่มีการระบุที่อยู่อีเมลของผู้ดูแลระบบซึ่งจะมีการส่งสำเนาของข้อความ NDR ทั้งหมด (ส่งสำเนาของรายงานการไม่จัดส่งไปที่:) นอกจากนี้คุณยังสามารถระบุข้อจำกัดเกี่ยวกับขนาดข้อความสูงสุด (จำกัดขนาดข้อความ KB) และจำนวนผู้รับสูงสุด (จำกัดจำนวนผู้รับต่อข้อความ) ได้ที่นี่

ไปที่แท็บ การจัดส่ง

จากนั้นคลิก การรักษาความปลอดภัยขาออก ที่นี่คุณระบุวิธีการรับรองความถูกต้องบนเซิร์ฟเวอร์อีเมลภายนอกที่เซิร์ฟเวอร์ SMTP ของคุณจะส่ง (ส่งต่อ) ข้อความอีเมลทั้งหมด ตัวอย่างเช่น หากอีเมลทั้งหมดจะถูกส่งต่อไปยังเซิร์ฟเวอร์อีเมลของ Gmail แล้วจึงส่งไปยังผู้รับ คุณต้องตรวจสอบ การรับรองความถูกต้องพื้นฐาน และระบุข้อมูลประจำตัวของกล่องจดหมาย Gmail ของคุณ (คุณต้องอนุญาตให้ส่งอีเมลผ่าน SMTP ของ Gmail ในการตั้งค่าบัญชี Google)

จากนั้นคลิก ขั้นสูง

ที่นี่ ให้คุณระบุชื่อ FQDN ของเซิร์ฟเวอร์ SMTP ของคุณ คลิกปุ่ม ตรวจสอบ DNS เพื่อให้แน่ใจว่าระเบียน DNS ถูกต้อง

หากเซิร์ฟเวอร์ของคุณส่งอีเมลไปยังเซิร์ฟเวอร์ SMTP ภายนอก ให้ระบุชื่อในฟิลด์ โฮสต์อัจฉริยะ (เช่น smtp.gmail.com หรือ smtp.office365 คอม).

เซิร์ฟเวอร์อีเมลสาธารณะบางแห่งยอมรับอีเมลเมื่อใช้การเชื่อมต่อ SMTP ที่ปลอดภัยโดยใช้การเข้ารหัส TLS (พอร์ต TCP 587) เท่านั้น คุณสามารถกำหนดการตั้งค่านี้ได้ในส่วน การจัดส่ง -> ความปลอดภัยขาออก และ การเชื่อมต่อขาออก อ่านเอกสารประกอบของผู้ให้บริการอีเมลของคุณ

บันทึกการตั้งค่าเซิร์ฟเวอร์ SMTP และรีสตาร์ทบริการเสมือน SMTP เพื่อใช้การเปลี่ยนแปลง

หมายเหตุ

  1. การตั้งค่า DNS มีความสำคัญในแง่ของความสมบูรณ์ของระบบอีเมล หากเซิร์ฟเวอร์ SMTP ของคุณไม่สามารถแก้ไขชื่อ DNS ของโดเมนที่พยายามส่งอีเมลได้อย่างถูกต้อง การส่งจะล้มเหลว

  2. หากเซิร์ฟเวอร์ของคุณส่งอีเมลไปยังโดเมนอื่น สิ่งสำคัญคือต้องสร้างบันทึก PTR ที่ถูกต้องสำหรับที่อยู่ IP ของคุณเพื่อแก้ไขการค้นหา DNS ย้อนกลับ บันทึก PTR สำหรับที่อยู่ IP สาธารณะของคุณควรชี้ไปที่ชื่อเซิร์ฟเวอร์ FQDN ของคุณ มิฉะนั้น เซิร์ฟเวอร์ SMTP ภายนอกส่วนใหญ่จะไม่ยอมรับอีเมลจากคุณ โดยถือว่าเซิร์ฟเวอร์ของคุณเป็นสแปมเมอร์

บริการ SMTPSVC เริ่มต้นอัตโนมัติ

ยังคงต้องกำหนดค่าการเริ่มต้นบริการ SMTP โดยอัตโนมัติบน Windows Server ของคุณ คุณสามารถทำได้อย่างรวดเร็วโดยใช้พรอมต์คำสั่ง PowerShell:

set-service smtpsvc -StartupType Automatic

เริ่มบริการ:

start-service smtpsvc

ตรวจสอบให้แน่ใจว่าบริการ SMTPSVC กำลังทำงานอยู่:

get-service smtpsvc

สถานะ ชื่อ ชื่อที่แสดง
—— —- ————
กำลังเรียกใช้ smtpsvc Simple Mail Transfer Protocol (SMTP)

การทดสอบเซิร์ฟเวอร์ SMTP บน Windows

สิ่งสุดท้ายที่คุณต้องทำคือตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ SMTP ของคุณทำงานอยู่ ทำได้ง่ายกว่าโดยสร้างไฟล์ข้อความธรรมดา smtp-test-email.txt บนเดสก์ท็อปของคุณแล้วคัดลอกข้อความต่อไปนี้ไปไว้ อย่าลืมเปลี่ยนชื่อผู้ส่งและผู้รับเป็นของคุณ

From: server@localdomain.com
To: admin@localdomain.com
Subject: Email test
This is the test email

คัดลอกไฟล์ smtp-test-email.txt ไปยังโฟลเดอร์ C:\inetpub\mailroot\Pickup เซิร์ฟเวอร์ Windows SMTP ตรวจสอบไฟล์ใหม่ที่ปรากฏในโฟลเดอร์นี้ และหากพบไฟล์ ก็จะอ่านเนื้อหาของไฟล์นั้น และพยายามส่งอีเมลที่มีหัวเรื่องและเนื้อความที่กำหนดไปยังผู้รับที่ระบุในช่อง ถึง: เส้น.

ตรวจสอบกล่องจดหมายของผู้รับ และคุณจะเห็นอีเมลนี้

เคล็ดลับ คุณสามารถทดสอบเซิร์ฟเวอร์ SMTP ของคุณโดยใช้คำสั่ง telnet, สคริปต์ VBS หรือ PowerShell:

Send-MailMessage -SMTPServer localhost -To manager@localdomain.com -From server@localdomain.com -Subject "Email test" -Body "This is the test email from PowerShell"

หากคุณเปิดใช้งาน การรับรองความถูกต้องพื้นฐาน เพื่อตรวจสอบสิทธิ์ไคลเอ็นต์ SMTP ทั้งหมดของคุณ (แทนการตรวจสอบสิทธิ์แบบไม่ระบุตัวตน) คุณสามารถส่งอีเมลพร้อมการตรวจสอบสิทธิ์ smtp ผ่าน telnet ได้ดังต่อไปนี้

นอกจากนี้ ตรวจสอบให้แน่ใจว่าพอร์ต TCP 25 ไม่ได้ถูกบล็อกบนเซิร์ฟเวอร์ SMTP ของคุณโดยไฟร์วอลล์ในเครื่องหรือซอฟต์แวร์ป้องกันไวรัส วิธีที่ง่ายที่สุดในการทำเช่นนี้คือจากคอมพิวเตอร์ที่ใช้ Windows ซึ่งมีการเพิ่มที่อยู่ IP ลงในรายการการเชื่อมต่อที่อนุญาต ตรวจสอบความพร้อมใช้งานของพอร์ต 25 โดยใช้ Test-NetConnection cmdlet:

Test-NetConnection smtprelay.a-d.site -port 25

หากพอร์ต 25 ถูกบล็อก ให้ตรวจสอบการตั้งค่าของ Windows Firewall, โปรแกรมป้องกันไวรัส และไฟร์วอลล์ของฮาร์ดแวร์

ดังนั้น คุณได้กำหนดค่ารีเลย์เมล SMTP ของคุณเองบน Windows Server 2016/2012 R2 และทดสอบการส่งอีเมลผ่านมัน

บทความที่เกี่ยวข้อง