การตั้งค่าเซิร์ฟเวอร์ SMTP การใช้งาน และแนวทางปฏิบัติที่ดีที่สุด

เผยแพร่แล้ว: 2022-04-08

เคยสงสัยไหมว่าอีเมลทำงานอย่างไร เมื่อคุณส่งอีเมลและภายในไม่กี่วินาทีอีเมลเหล่านั้นจะอยู่ในกล่องจดหมายของผู้รับ เทคโนโลยีเบื้องหลังสิ่งที่เกิดขึ้นคือ Simple Mail Transfer Protocol (SMTP) วิธีจัดเก็บอีเมลบนเซิร์ฟเวอร์เมื่อได้รับโดยใช้ IMAP/POP3 Server เป็นเรื่องราวที่ต่างออกไป สำหรับตอนนี้ เราจะพูดถึง SMTP และท้ายบทความ เราหวังว่าคุณจะเข้าใจ STMP Protocol, SMTP Servers อย่างถ่องแท้ , ตัวเลือกทั่วไปและวิธีตรวจสอบให้แน่ใจว่าอีเมลของคุณถูกส่งไปอยู่ในจดหมายขยะ

สารบัญ
SMTP คืออะไร?
เซิร์ฟเวอร์ SMTP คืออะไร?
SMTP ทำงานอย่างไร
พอร์ตและที่อยู่ SMTP ทั่วไป
ชื่อเซิร์ฟเวอร์ SMTP ทั่วไป
การตั้งค่าผู้ให้บริการเซิร์ฟเวอร์ SMTP จำนวนมาก
การใช้เซิร์ฟเวอร์ SMTP กับ WordPress
ตั้งค่าเซิร์ฟเวอร์ SMTP ที่โฮสต์ด้วยตนเองบน Linux
การใช้เซิร์ฟเวอร์ SMTP

SMTP คืออะไร?

Simple Mail Transfer Protocol (SMTP) เป็นโปรโตคอลที่ใช้ในการส่งอีเมล ซึ่งกำหนดมาตรฐานทั่วไปเพื่อให้เซิร์ฟเวอร์ SMTP ใด ๆ สามารถสื่อสารกับเซิร์ฟเวอร์ SMTP อื่น ๆ หรือเซิร์ฟเวอร์ POP3/IMAP บนอินเทอร์เน็ตและเข้าใจซึ่งกันและกัน คุณสามารถพูดได้ว่าช่วยให้มั่นใจได้ว่าหน่วยงานต่างๆ ที่เกี่ยวข้องกับการถ่ายโอนอีเมลจะพูดภาษาเดียวกันได้

เซิร์ฟเวอร์ SMTP คืออะไร?

แอปพลิเคชันต้องมีโปรโตคอล SMTP ให้ใช้งานได้ แอปพลิเคชันนี้ที่ตอบสนองต่อคำขอ SMTP สำหรับผู้ที่ต้องการส่งอีเมลหรืออีเมลส่งต่อ เรียกว่า SMTP Serve/SMTP Relay คุณสามารถแบ่งออกเป็นสองประเภทตามที่ระบุด้านล่าง ทั้งสองส่วนใหญ่เหมือนกัน นอกเหนือจากความแตกต่างเล็กน้อย –

  • เซิร์ฟเวอร์ SMTP : เหมือนกับรีเลย์ SMTP แต่ส่วนใหญ่ใช้เมื่อโดเมนตัวรับเหมือนกับโดเมนของเซิร์ฟเวอร์ มักใช้กับบริการอีเมลฟรี เช่น gmail.com , yahoo.com
  • เซิร์ฟเวอร์รีเลย์ SMTP : นี่เป็นเซิร์ฟเวอร์เช่นกัน แต่คำนี้ใช้เมื่ออีเมลต้นทางและโดเมนอีเมลปลายทางแตกต่างจากโดเมนเซิร์ฟเวอร์ SMTP ตัวอย่างอาจเป็น SendGrid หรือ SendInBlue ที่เสนอสิ่งเหล่านี้ เซิร์ฟเวอร์เหล่านี้ส่วนใหญ่เป็นเราเตอร์สำหรับอีเมล

เซิร์ฟเวอร์ SMTP ปลอม: – เซิร์ฟเวอร์เหล่านี้ส่วนใหญ่ใช้สำหรับการทดสอบโดยนักพัฒนา โดยพื้นฐานแล้วเป็นเซิร์ฟเวอร์ที่รับได้ทั้งหมด ซึ่งอนุญาตให้ผู้ใช้เห็นว่าอีเมลจะมีลักษณะเป็นอย่างไรที่ปลายทางผู้รับโดยไม่ต้องส่งอีเมลใดๆ คุณสามารถติดตั้งแอปพลิเคชันในพื้นที่ เช่น MailHog หรือ MailCatcher หรือใช้ระบบคลาวด์ที่มีให้ เช่น Mailtrap หรือเครื่องมือในพื้นที่ของเรา

SMTP ทำงานอย่างไร

ด้านล่างนี้คือคำแนะนำทั่วไปเกี่ยวกับวิธีการทำงานของกระบวนการส่งอีเมลกับ SMTP

  • ผู้ใช้ที่ต้องการส่งอีเมลจาก [email protected] ถึง [email protected] ใช้โปรแกรมรับส่งเมลเพื่อร่างอีเมลที่มีหัวเรื่องและเนื้อหาแล้วกดส่ง
  • เมื่อผู้ใช้กดส่ง ไคลเอนต์อีเมลจะเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ที่กำหนดค่าไว้ สมมติว่าเป็น smtp.source.com ไคลเอ็นต์และเซิร์ฟเวอร์ SMTP จับมือกัน และหากจำเป็นต้องมีการอนุญาต ไคลเอ็นต์จะให้ข้อมูลประจำตัวสำหรับสิ่งเดียวกัน
  • หลังจากการจับมือกันอีเมลไคลเอ็นต์จะส่งที่อยู่ผู้รับซึ่งในกรณีของเราคือ [ป้องกันอีเมล] หัวเรื่องและเนื้อหา
  • หากเป็นผู้ใช้ของเราที่ส่งไปยังบุคคลในโดเมนเดียวกัน เซิร์ฟเวอร์ของเราจะส่งต่อภายในไปยังเซิร์ฟเวอร์ผู้รับในพื้นที่
  • ถัดไป เซิร์ฟเวอร์ SMTP ที่ใช้คำขอ DNS สำหรับระเบียน MX จะค้นหา IP ของผู้รับหรือที่อยู่โดเมนที่เซิร์ฟเวอร์ SMTP ของเขาทำงานอยู่
  • ถัดไปจะเชื่อมต่อกับที่อยู่ SMTP ของผู้รับและพยายามส่งอีเมล
  • เซิร์ฟเวอร์อีเมลของผู้รับจะตรวจสอบว่าสามารถจัดการอีเมลที่ส่งต่อไปยังอีเมลได้หรือไม่ และถ้าทุกอย่างเรียบร้อยดีก็จะส่งต่อไปยังเซิร์ฟเวอร์ IMAP หรือ POP3 ขาเข้า

พอร์ตและที่อยู่ SMTP ทั่วไป

ในกรณีส่วนใหญ่ ที่อยู่ SMTP จะเป็นคำนำหน้าของอีเมลหรือ smtp หน้าโดเมนที่คุณพยายามจะเชื่อมต่อ นอกจากนี้ สิ่งเหล่านี้จะถูกระบุโดยระเบียน Mail Exchange (MX) ใน DNS ซึ่งนำไคลเอ็นต์ไปยังเซิร์ฟเวอร์อีเมล ซึ่งควรจะเป็นตัวควบคุมวิธีการกำหนดเส้นทางข้อความอีเมล

หากต้องการค้นหาที่อยู่ของเซิร์ฟเวอร์ SMTP คุณสามารถใช้คำสั่ง dig

จากนั้นคุณสามารถใช้คำสั่ง dig เพื่อค้นหาที่อยู่ IP ได้หากต้องการ

สิ่งต่าง ๆ นั้นไม่ง่ายนักกับพอร์ตที่จะเชื่อมต่อ เซิร์ฟเวอร์และรีเลย์มักจะมีชุดของพอร์ตต่าง ๆ ที่คุณสามารถเชื่อมต่อได้ ซึ่งแต่ละพอร์ตมีการทำงานล่วงเวลาเพื่อตอบสนองความต้องการเฉพาะ

พอร์ต SMTP

หมายเลขพอร์ต คำอธิบาย ข้อมูล
25 พอร์ต SMTP มาตรฐาน ควรใช้สำหรับ Email Relay เป็นหลัก
465 พอร์ต SMTP ที่เลิกใช้แล้ว ใช้สำหรับ SMTP ที่ปลอดภัย ใช้ SSL สำหรับการเข้ารหัส หลีกเลี่ยงการใช้
587 พอร์ต SMTP ที่ปลอดภัยทันสมัย โปรแกรมรับส่งเมลที่ทันสมัยส่วนใหญ่จะใช้สิ่งนี้ จะใช้การเข้ารหัส TLS
2525 พอร์ต SMTP ทางเลือกที่ไม่ได้มาตรฐาน ใช้เป็นทางเลือกแทน 587 ในกรณีที่ถูกบล็อก

ในกรณีส่วนใหญ่ คุณจะใช้พอร์ต 587 ตามความต้องการของคุณ

ชื่อเซิร์ฟเวอร์ SMTP ทั่วไป

ที่อยู่ทั่วไปสำหรับเซิร์ฟเวอร์ SMTP เริ่มต้นด้วย smtp หรือจดหมาย ด้วยชื่อโดเมน บางคนอาจมีที่อยู่ IP ด้วย เราได้ระบุรายการทั่วไปสองสามรายการพร้อมรายละเอียดด้านล่าง -

ชื่อบริการ เซิร์ฟเวอร์ SMTP ท่าเรือ
Googlemail smtp.gmail.com 587
Outlook.com smtp.live.com 587
Office365.com smtp.office365.com 587
Yahoo Mail smtp.mail.yahoo.com 465
Yahoo Mail Plus plus.smtp.mail.yahoo.com 465
Yahoo UK smtp.mail.yahoo.co.uk 465
Yahoo Deutschland smtp.mail.yahoo.com 465
Yahoo AU/NZ smtp.mail.yahoo.com.au 465
O2 smtp.o2.ie 25
O2.uk smtp.o2.co.uk 25
AOL.com smtp.aol.com 587
AT&T smtp.att.yahoo.com 465
NTL @ntlworld.com smtp.ntlworld.com 465
BT Connect pop3.btconnect.com 25
BT Openworld mail.btopenworld.com 25
บีที อินเทอร์เน็ต mail.btinternet.com 25
ส้ม smtp.orange.net 25
Orange.uk smtp.orange.co.uk 25
Wanadoo UK smtp.wanadoo.co.uk 25
Hotmail smtp.live.com 465
O2 Online Deutschland mail.o2online.de 25
T-Online เยอรมนี Securesmtp.t-online.de 587
1&1 (1and1) smtp.1and1.com 587
1&1 เยอรมนี smtp.1und1.de 587
Comcast smtp.comcast.net 587
Verizon outgoing.verizon.net 465
Verizon (โฮสต์ Yahoo) outgoing.yahoo.verizon.net 587
Zoho Mail smtp.zoho.com 465
Mail.com smtp.mail.com 587
GMX.com smtp.gmx.com 465
[ป้องกันอีเมล] โดย USA.NET smtp.postoffice.net 465

การตั้งค่าผู้ให้บริการเซิร์ฟเวอร์ SMTP จำนวนมาก

จะเกิดอะไรขึ้นถ้าคุณต้องการส่งอีเมลมากกว่าสองสามฉบับ เช่น อีเมล 10,000 K คุณจะต้องมีบางอย่างเช่นการส่งต่อ SMTP จำนวนมาก พวกเขาจะให้ API และคุณสมบัติอื่นๆ แก่คุณ เช่น การติดตามการจัดส่ง อัตราเปิด ฯลฯ นอกจากนี้ยังช่วยให้คุณส่ง อีเมลค่อนข้างเร็วเท่ากับ SMTP เนื่องจากโปรโตคอลค่อนข้างช้า

หากจำนวนไม่มากนัก คุณสามารถใช้รายชื่อผู้ให้บริการเซิร์ฟเวอร์ SMTP ฟรีเพื่อเลือกได้

หากคุณต้องการส่งอีเมลไปยังฐานผู้ใช้ขนาดใหญ่ของคุณ หรือบางทีสำหรับการตลาดผ่านอีเมล เราได้กำหนดราคาไว้ด้านล่างพร้อมกับผู้ให้บริการหลายรายที่ระบุไว้

ผู้ขาย ฟรี / เดือน ขีดจำกัดรายวัน แผนการชำระเงิน ความคิดเห็น
SendInBlue 9000 300 $25 สำหรับ 10,000 ถึง $499 สำหรับ 1 ล้าน ฟรีที่ดีที่สุด
TurboSMTP 6000 200 14.95 สำหรับ 50k เป็น 979.95 สำหรับ 2 ล้าน 6000 / เดือน นาน 12 เดือน
อาลีบาบาไดเร็คเมล 6000 200 .00029 ต่อ 1,000 อีเมล
PepiPost 3000 100 $25 สำหรับ 150k ถึง 445 สำหรับ 2 ล้าน
SendGrid 3000 100 $14.95 สำหรับ 50,000 อีเมล ถึง $749 สำหรับ 150K
SparPost 3000 100 $20 สำหรับ 50,000 ถึง $525 สำหรับ 1M
อีเมลยืดหยุ่น 3000 100 การคิดต้นทุนอย่าง Amazon SES ตัวเลือกการจ่ายต้นทุนต่ำ
Amazon SES 62000 .0001 สำหรับ 1,000 อีเมล หนึ่งในราคาถูกที่สุด ฟรี หากส่งจากเซิร์ฟเวอร์ AWS EC2
GMail 15000 500 Gsuite เป็นตัวเลือกระดับพรีเมียม โดเมนจะเป็น gmail.com อาจทำให้บัญชีถูกระงับ

การใช้เซิร์ฟเวอร์ SMTP กับ WordPress

WordPress มีอำนาจเกือบ 40% ของไซต์บนอินเทอร์เน็ต โดยค่าเริ่มต้นจะใช้ PHP Mail เพื่อส่งอีเมลธุรกรรม ซึ่งหากไม่ได้กำหนดค่าไว้ ให้ใช้ sendmail ซึ่งอาจเป็นการตีหรือพลาดในกรณีที่เกี่ยวข้องกับการจัดส่ง ดังนั้นเราขอแนะนำให้ใช้ ปลั๊กอิน WordPress ซึ่งสามารถใช้การตั้งค่า SMTP หรือใช้ SMTP API ได้เช่นเดียวกัน

ตามค่าเริ่มต้น WordPress จะใช้เมล PHP เพื่อส่งอีเมล หากกำหนดค่าถูกต้องก็เพียงพอแล้ว แต่โดยส่วนใหญ่ การใช้บริการของบุคคลที่สามจะง่ายกว่า เนื่องจากโฮสต์ที่ใช้ร่วมกันส่วนใหญ่ไม่อนุญาตให้เข้าถึงคอนโซลโดยตรงเพื่อตรวจสอบสิ่งที่เกิดขึ้นและ IP โฮสต์อาจถูกขึ้นบัญชีดำเนื่องจากสแปม เนื่องจากอาจมีผู้ใช้รายอื่นบนเซิร์ฟเวอร์ (ในกรณีของ Common Shared Hosting) ที่อาจไม่ทำงานและทำให้ IP ของคุณถูกขึ้นบัญชีดำ การขึ้นบัญชีดำหมายความว่า IP ของเซิร์ฟเวอร์ของคุณอยู่ในรายชื่อผู้ส่งอีเมลขยะที่รู้จักทั่วโลก ซึ่งทำให้อีเมลของคุณผ่านเข้าไปได้ยากขึ้น คุณสามารถตรวจสอบสถานะของคุณได้ที่นี่

สำหรับ WordPress เราขอแนะนำปลั๊กอิน Wp Mail SMTP ซึ่งง่ายต่อการกำหนดค่า ตั้งค่า และสนับสนุนผู้ขายต่างๆ มากมาย รวมถึง Gmail นอกจากนี้ยังมีตัวเลือกในการบันทึกอีเมลที่ส่งทั้งหมด แผนบริการฟรีควรเพียงพอสำหรับผู้ใช้ส่วนใหญ่

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

ตั้งค่าเซิร์ฟเวอร์ SMTP ที่โฮสต์ด้วยตนเองบน Linux

การเปรียบเทียบ MTA อย่างรวดเร็ว เราจะเลือก Postfix เนื่องจากเราจะทำงานกับ linux –

ถ้าคุณคือ... qmail เอ็กซิม ส่งอีเมล์ Postfix หมายเหตุ
ไม่มีประสบการณ์
0 3 1 3 Exim และ Postfix มีเอกสารที่ดีและตัวอย่างที่ชัดเจน
กังวลเรื่องความปลอดภัย
3 2 0 3 Postfix มีความปลอดภัยและทันสมัย qmail มีความปลอดภัยแต่เก่าและบ้าๆบอ ๆ; Exim มีความปลอดภัยตามเกณฑ์ที่แตกต่างกัน (อ่านด้านบน)
พึ่งเครื่องรีดนม Sendmail
0 1 3 2 Postfix สามารถใช้เครื่องรีดนมได้ สามารถใช้เราเตอร์ Exim / สคริปต์ตัวกรองที่เทียบเท่าได้
ต้องการความยุ่งยากน้อยที่สุด
0 3 0 3 Sendmail มี front-end ที่ง่ายดาย แต่ยิ่งคุณเข้าไปลึกเท่าไหร่ก็ยิ่งแย่ลงเท่านั้น Postfix และ Exim สามารถคาดเดาได้มากกว่า
ทรัพยากรจำกัด
3 2 1 2 ดู แอปพลิเคชันแบบฝัง ด้านล่างสำหรับความคิดเห็นอื่น ๆ
บน Windows
0 2 3 0 Sendmail มีพอร์ต Windows ดั้งเดิม; Exim อยู่ใน Cygwin distro
ต้องการการสนับสนุนทางการค้า
1 3 3 3 มีบริษัทที่มีความสามารถสำหรับ MTA ทั้งหมด qmail นั้นรองรับน้อยกว่าโดยเนื้อแท้เพราะเก่ามาก

Postfix คือ Mail Transfer Agent (MTA) ที่สามารถทำหน้าที่เป็นเซิร์ฟเวอร์ SMTP หรือไคลเอนต์ในการส่งหรือรับอีเมล ตั้งค่าและกำหนดค่าได้ง่าย และเราใช้เองสำหรับความต้องการส่วนใหญ่ นอกจากนี้ยังสามารถตั้งค่าให้ทำหน้าที่เป็นตัวกลางในการส่งต่ออีเมลผ่านบริการอีเมลของบุคคลที่สาม เราจะครอบคลุมเฉพาะการตั้งค่าพื้นฐานและส่งอีเมลฉบับแรกของคุณ

การตั้งค่าที่ง่ายที่สุดประกอบด้วยการติดตั้ง postfix และคุณควรไปได้ดี

การตั้งค่าง่ายๆ ดังกล่าวจะใช้งานได้ในทางเทคนิค แต่อีเมลของคุณอาจอยู่ในสแปม เพื่อรองรับสิ่งนี้และรับประกันความสามารถในการส่งอีเมลที่ดีขึ้น เรามีคำแนะนำอื่นที่เราเพิ่มข้อกำหนดอื่นๆ เช่น DKIM หรือ SPF ซึ่งจำเป็นเพื่อให้แน่ใจว่าอีเมลของคุณไป ผ่าน. แต่ถึงกระนั้น เว้นแต่จะมีเหตุผลที่ดีมาก เราไม่แนะนำให้เรียกใช้เซิร์ฟเวอร์อีเมลของคุณเอง

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

ในการเริ่มต้นเราจะออกคำสั่งอัพเดตแคชสำหรับตัวจัดการแพ็คเกจ apt

sudo apt update

ต่อไปเราจะติดตั้ง postfix โดยใช้คำสั่งต่อไปนี้ –

sudo apt install postfix

การติดตั้งจะเปิดขึ้นพร้อมท์จำนวนมาก โปรดเลือกตัวเลือกต่อไปนี้ -

  • ประเภทของการกำหนดค่าเมลทั่วไป? : สำหรับสิ่งนี้ เราจะเลือกอินเทอร์เน็ตไซต์เนื่องจากสิ่งนี้ตรงกับความต้องการด้านโครงสร้างพื้นฐานของเรา
  • ชื่อเมลของระบบ: นี่คือโดเมนพื้นฐานที่จะใช้ในการส่งอีเมล หากผู้ใช้ไม่ได้ระบุโดเมนผู้ส่ง ดังนั้นหากคุณส่งอีเมลจาก say user1 และไม่ได้ระบุโดเมนไว้ สิ่งนี้จะถูก postfixed ไปที่อีเมล ดังนั้นหากได้รับ example.com ก็จะส่งอีเมลจาก [email protected]

ที่ควรดูแลการกำหนดค่าพื้นฐาน สำหรับการตั้งค่าที่สมบูรณ์ โปรดปฏิบัติตามคู่มือการตั้งค่าเซิร์ฟเวอร์อีเมลของเรา ตอนนี้ควรมีพอร์ต 25 คุณสามารถตรวจสอบ f ที่เปิดอยู่โดยใช้คำสั่งใด ๆ -

สิ่งที่เรากำลังมองหาบางอย่างเช่นนี้

master 2575 root 13u IPv4 30244 0t0 TCP *:25 (LISTEN)
master 2575 root 14u IPv6 30245 0t0 TCP *:25 (LISTEN)

หากคุณต้องการกำหนดค่าการตั้งค่าใหม่ ให้เรียกใช้คำสั่ง –

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

การใช้เซิร์ฟเวอร์ SMTP

โดยปกติ โปรแกรมรับส่งเมลเป็นวิธีที่ใช้กันทั่วไปมากที่สุดในการติดต่อกับเซิร์ฟเวอร์ SMTP แต่คุณสามารถโต้ตอบกับเซิร์ฟเวอร์ได้โดยตรงโดยใช้ telnet เราจะเริ่มด้วยวิธีนี้กันก่อนเพราะมันเจ๋งมาก

ส่งอีเมลโดยใช้ telnet ใน linux

เชื่อมต่อกับเซิร์ฟเวอร์ SMTP ในพื้นที่ของคุณโดยป้อนคำสั่งต่อไปนี้ –

คุณจะเห็นสิ่งนี้ -

หากคุณไม่สามารถเชื่อมต่อได้ ตรวจสอบให้แน่ใจว่า postfix ทำงานอยู่ และตรวจสอบว่าพอร์ต 25 เปิดอยู่

ตอนนี้ให้ส่งอีเมลเพื่อบอกว่า [ป้องกันอีเมล] ( catch all email )

ไปตรวจสอบว่าได้รับอีเมลในกล่องจดหมายสำหรับ [email protected] หรือถ้าคุณใช้ผู้รับอื่นสามารถตรวจสอบได้ในกล่องจดหมาย

ส่งอีเมลจากบรรทัดคำสั่ง linux

บน linux เราสามารถใช้คำสั่ง sendmail เพื่อส่งอีเมลได้อย่างรวดเร็ว

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