คุณสามารถติดตั้งเซิร์ฟเวอร์ 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 ทำหน้าที่เป็น การส่งต่อจดหมาย . เซิร์ฟเวอร์ SMTP นี้สามารถส่งหรือส่งต่ออีเมลเท่านั้น และไม่มีกล่องจดหมายของผู้ใช้
สารบัญ:
- จะติดตั้งบริการ SMTP บน Windows Server 2016 / 2012 R2 ได้อย่างไร
- การกำหนดค่าเซิร์ฟเวอร์ SMTP บน Windows Server
- เริ่มบริการ SMTPSVC อัตโนมัติ
- การทดสอบเซิร์ฟเวอร์ SMTP บน Windows
จะติดตั้งบริการ SMTP บน Windows Server 2016 / 2012 R2 ได้อย่างไร
บริการ SMTP เป็นหนึ่งในคุณสมบัติในตัวของ Windows Server ที่สามารถติดตั้งผ่านตัวจัดการเซิร์ฟเวอร์ ในการดำเนินการ ให้เปิด ตัวจัดการเซิร์ฟเวอร์ แดชบอร์ด (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 Manager คลิกขวา เซิร์ฟเวอร์เสมือน SMTP และเปิดคุณสมบัติ
ใน ทั่วไป หากจำเป็น ให้เลือกที่อยู่ IP ที่เซิร์ฟเวอร์ SMTP ควรตอบสนอง (หากเซิร์ฟเวอร์มีที่อยู่ IP หลายรายการ) และเลือกตัวเลือก เปิดใช้งานการบันทึก (เพื่อบันทึกข้อมูลเกี่ยวกับอีเมลที่ได้รับทั้งหมดไปยังไฟล์บันทึกข้อความ)
จากนั้นไปที่ การเข้าถึง แท็บ
คลิกที่นี่ การตรวจสอบสิทธิ์ และตรวจสอบให้แน่ใจว่า การเข้าถึงแบบไม่ระบุชื่อ เปิดใช้งานอยู่
กลับไปที่ การเข้าถึง แท็บแล้วคลิก การเชื่อมต่อ ปุ่ม. ที่นี่ คุณสามารถระบุที่อยู่ IP ของอุปกรณ์ที่ได้รับอนุญาตให้ส่งอีเมลผ่านการส่งต่อ SMTP ของคุณได้ ในการดำเนินการ ให้ตรวจสอบ เฉพาะรายการด้านล่าง และระบุรายการที่อยู่ IP (ซับเน็ต) อย่าลืมเกี่ยวกับตัวคุณเอง (127.0.0.1)
กำหนดค่ารายการ IP ที่อนุญาตในลักษณะเดียวกันกับการตั้งค่ารีเลย์ (คลิกปุ่มที่เกี่ยวข้อง) ส่วนนี้ระบุว่าที่อยู่ IP (หรือเครือข่ายย่อย) ใดที่สามารถส่งต่ออีเมลผ่านเซิร์ฟเวอร์ SMTP ของคุณได้
หมายเหตุ . ตามกฎทั่วไป คุณควรตรวจสอบตัวเลือกนี้และจำกัดรายการอุปกรณ์ที่ยอมรับด้วยช่วงที่อยู่ IP มิฉะนั้น เซิร์ฟเวอร์ SMTP ของคุณอาจถูกใช้โดยนักส่งสแปมและผู้โจมตีรายอื่นๆ เพื่อเป็นการส่งต่อแบบเปิดสำหรับการส่งจดหมายจำนวนมาก
ไปที่ ข้อความ แท็บ ที่นี่ระบุที่อยู่อีเมลของผู้ดูแลระบบไว้ ซึ่งสำเนาของข้อความ NDR ทั้งหมดจะถูกส่งไป (ส่งสำเนารายงานการไม่จัดส่งไปที่:) นอกจากนี้ คุณสามารถระบุข้อจำกัดเกี่ยวกับขนาดข้อความสูงสุด (จำกัดขนาดข้อความ KB) และจำนวนผู้รับสูงสุด (จำกัดจำนวนผู้รับต่อข้อความ)
ไปที่ การจัดส่ง แท็บ
จากนั้นคลิก ความปลอดภัยขาออก . ที่นี่ คุณระบุวิธีการรับรองความถูกต้องบนเซิร์ฟเวอร์เมลภายนอกที่เซิร์ฟเวอร์ SMTP ของคุณจะส่งข้อความอีเมลทั้งหมด (รีเลย์) ตัวอย่างเช่น ถ้าอีเมลทั้งหมดจะถูกส่งต่อไปยังเซิร์ฟเวอร์อีเมลของ Gmail แล้วจึงส่งถึงผู้รับ คุณจะต้องตรวจสอบการตรวจสอบสิทธิ์พื้นฐาน และระบุข้อมูลประจำตัวของกล่องจดหมาย Gmail (คุณต้องอนุญาตให้ส่งอีเมลผ่าน Gmail SMTP ในการตั้งค่าบัญชี Google)
จากนั้นคลิก ขั้นสูง .
ที่นี่คุณระบุ FQDN ชื่อของเซิร์ฟเวอร์ SMTP ของคุณ คลิก ตรวจสอบ DNS ปุ่มเพื่อให้แน่ใจว่าบันทึก DNS ถูกต้อง
หากเซิร์ฟเวอร์ของคุณส่งอีเมลไปยังเซิร์ฟเวอร์ SMTP ภายนอก ให้ระบุชื่อใน โฮสต์อัจฉริยะ ฟิลด์ (เช่น smtp.gmail.com หรือ smtp.office365.com )
เซิร์ฟเวอร์อีเมลสาธารณะบางแห่งยอมรับอีเมลเฉพาะเมื่อใช้การเชื่อมต่อ SMTP ที่ปลอดภัยโดยใช้การเข้ารหัส TLS (พอร์ต TCP 587) คุณสามารถกำหนดการตั้งค่านี้ได้ในส่วน การจัดส่ง -> ความปลอดภัยขาออก และ การเชื่อมต่อขาออก . อ่านเอกสารของผู้ให้บริการอีเมลของคุณบันทึกการตั้งค่าเซิร์ฟเวอร์ SMTP และเริ่มบริการเสมือน SMTP ใหม่เพื่อใช้การเปลี่ยนแปลง
หมายเหตุ- การตั้งค่า DNS มีความสำคัญในแง่ของความสมบูรณ์ของระบบอีเมล หากเซิร์ฟเวอร์ SMTP ของคุณไม่สามารถแก้ไขชื่อ DNS ของโดเมนที่พยายามส่งอีเมลได้อย่างถูกต้อง การจัดส่งจะล้มเหลว
- หากเซิร์ฟเวอร์ของคุณส่งอีเมลไปยังโดเมนอื่น สิ่งสำคัญคือต้องมีการสร้างบันทึก PTR ที่ถูกต้องสำหรับที่อยู่ IP ของคุณเพื่อแก้ไขการค้นหา DNS แบบย้อนกลับ บันทึก PTR สำหรับที่อยู่ IP สาธารณะของคุณควรชี้ไปที่ชื่อ FQDN ของเซิร์ฟเวอร์ของคุณ มิฉะนั้น เซิร์ฟเวอร์ SMTP ภายนอกส่วนใหญ่จะไม่รับอีเมลจากคุณ เนื่องจากเซิร์ฟเวอร์ของคุณเป็นเซิร์ฟเวอร์ส่งสแปม
เริ่มบริการ SMTPSVC อัตโนมัติ
ยังคงต้องกำหนดค่าการเริ่มต้นบริการ SMTP อัตโนมัติบน Windows Server ของคุณ คุณสามารถทำได้อย่างรวดเร็วโดยใช้พรอมต์คำสั่ง PowerShell:
set-service smtpsvc -StartupType Automatic
เริ่มบริการ:
start-service smtpsvc
ตรวจสอบให้แน่ใจว่าบริการ SMTPSVC กำลังทำงาน:
get-service smtpsvc
สถานะ ชื่อ DisplayName
—— —- ————
การเรียกใช้ smtpsvc Simple Mail Transfer Protocol (SMTP)
การทดสอบเซิร์ฟเวอร์ SMTP บน Windows
สิ่งสุดท้ายที่คุณต้องทำคือตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ SMTP ของคุณทำงาน ทำได้ง่ายกว่าโดยการสร้างไฟล์ข้อความธรรมดา smtp-test-email.txt บนเดสก์ท็อปของคุณและคัดลอกข้อความต่อไปนี้ไปไว้ อย่าลืมเปลี่ยนชื่อผู้ส่งและผู้รับเป็นของคุณ
From: [email protected]
To: [email protected]
Subject: Email test
This is the test email
คัดลอกไฟล์ smtp-test-email.txt ไปยัง C:\inetpub\mailroot\Pickup โฟลเดอร์ เซิร์ฟเวอร์ SMTP ของ Windows จะตรวจสอบไฟล์ใหม่ที่ปรากฏในโฟลเดอร์นี้ และหากพบไฟล์ใด ไฟล์นั้นก็จะอ่านเนื้อหาและพยายามส่งอีเมลที่มีหัวข้อและเนื้อหาที่กำหนดไปยังผู้รับที่ระบุไว้ใน ถึง: สาย.
ตรวจสอบเมลบ็อกซ์ของผู้รับ แล้วคุณจะเห็นอีเมลนี้
เคล็ดลับ . คุณสามารถทดสอบเซิร์ฟเวอร์ SMTP ของคุณโดยใช้คำสั่ง telnet, สคริปต์ VBS หรือ PowerShell:
Send-MailMessage -SMTPServer localhost -To [email protected] -From [email protected] -Subject "Email test" -Body "This is the test email from PowerShell"
หากคุณได้เปิดใช้งานการตรวจสอบสิทธิ์พื้นฐาน เพื่อรับรองความถูกต้องไคลเอ็นต์ SMTP ทั้งหมดของคุณ (แทนที่จะเป็นการพิสูจน์ตัวตนแบบไม่ระบุตัวตน) คุณสามารถส่งอีเมลพร้อมการรับรองความถูกต้อง smtp ผ่าน telnet ได้ดังนี้
นอกจากนี้ ตรวจสอบให้แน่ใจว่าพอร์ต TCP 25 ไม่ถูกบล็อกบนเซิร์ฟเวอร์ SMTP ของคุณโดยไฟร์วอลล์ในเครื่องหรือซอฟต์แวร์ป้องกันไวรัส วิธีที่ง่ายที่สุดในการทำเช่นนี้คือจากคอมพิวเตอร์ที่ใช้ Windows ซึ่งมีการเพิ่มที่อยู่ IP ในรายการการเชื่อมต่อที่อนุญาต ตรวจสอบความพร้อมใช้งานของพอร์ต 25 โดยใช้ cmdlet ของ Test-NetConnection:
Test-NetConnection smtprelay.woshub.com –port 25
หากพอร์ต 25 ถูกบล็อก ให้ตรวจสอบการตั้งค่าของไฟร์วอลล์ Windows ไฟร์วอลล์ป้องกันไวรัสและฮาร์ดแวร์
ดังนั้น คุณได้กำหนดค่าการส่งต่อเมล SMTP ของคุณเองบน Windows Server 2016 / 2012 R2 และทดสอบการส่งอีเมลผ่านมัน