Email ขาเข้า ขาออก เข้าแล้วก็ออก เอ้าๆ เอิ้วๆ

สงสัยจะเขียน code มากไปชื่อ บทความเลยเป็นแบบนี้ เอาละเข้าเรื่องกันเลยครับ
ในส่วนของ Email ที่เราใช้งานจะมี 2 ส่วนหลักๆเป็น ขาเข้า ไว้รับ email มาและก็ขาออกไว้ส่ง email ครับ

ขาออก – SMTP

Email Outbound
Email Outbound

เราจะใช้ SMTP ในการส่ง email กันครับ

SMTP ?

SMTP ย่อมาจาก Simple Mail Transfer Protocol
SMTP คือ Protocol ทำงานอยู่บน TCP/IP protocol ใช้ในการส่ง email
SMTP เป็น รูปแบบการส่ง email

ปกติเวลาเราจะส่ง email, ผู้ให้บริการส่ง email เขาก็จะมีข้อกำหนดต่างๆครับเช่น ส่งมาจากไหน, ใครเป็นผู้ส่ง, etc.
(ซึ่งอาจมีข้อตกลงอื่นๆอีกครับเช่น ต้องเป็นสมาชิกถึงจะส่งเมลผ่านผู้ให้บริการ SMTP นั้นๆได้, ส่งได้ไม่เกิน 200 mail / month)
เพื่อให้ผู้บริการตรวจสอบได้ สามารถดูตัวอย่างด้านล่างซึ่งเป็นของ Google SMTP ได้เลยครับ

SMTP Host : smtp.gmail.com
SMTP User : inid3a@gmail.com
SMTP Pass : 123456789

SMTP Host ก็จะเป็นของผู้ให้บริการ SMTP นั้นๆครับ
SMTP User ก็จะเป็นของเราเอง ถ้าเป็น gmail เนี่ยก็จะเป็นอันเดียวกับ email ที่เราใช้กันอยู่ครับ
SMTP Pass ผู้ให้บริการ SMTP จะให้เรามาครับ ถ้าเป็นของ gmail เราต้องไปกดสร้างขึ้นมาใหม่ครับ ไม่ใช่ password email นะครับ

เขาจะขอข้อมูลไปทำไม

ตัวผู้ให้บริการ SMTP เขาก็กลัวเวลาเราจะเอาไปทำอะไรไม่ดี หรือเราเอาไปทำ spam รบกวนผู้อื่น
แล้วทีนี้ขอผู้รับ spam นั้น block ก็กลายเป็น block ทั้ง Server ของผู้ให้บริการเลย ทำให้ผู้บริการ
รวมทั้งคนอื่นที่ใช้ Server เดียวกันเดือนร้อนเพราะ Server ส่ง email ตัวนี้ถูก block ไปแล้ว

ไม่ใช้ได้ไหม

ไม่ใช้ก็สามารถส่ง email ได้ครับแต่ server ของผู้รับ email เนี่ย
เขาก็จะประเมินค่าความน่าเชื่อถือของเราลดลง เช่น email อาจจะไปอยู่ใน Junk mail ก็ได้ครับ

ขาเข้า – POP3 / IMAP

Email - Inbound
Email – Inbound

ที่เรานิยมใช้กันจะมี 2 protocol คือ POP3 และ IMAP4

POP3

POP3 = Post Office Protocol Version 3 ซึ่งมีการทำงานแบบOffline Model โดยมีหลักการทำงานแบบนี้ครับ

  • Email Client เชื่อมต่อกับ Mail Server
  • Email Client ดาวน์โหลด email ลงมาที่ Email Client
  • ลบ email ทั้งหมดที่อยู่บน Email Server (หรือเก็บไว้ช่วงเวลาหนึ่งแล้วลบออก)
  • ตัดการเชื่อมต่อกับ Email Server

ข้อดี
1. เชื่อมต่อกับ Server น้อย
2. ใช้พื้นที่เก็บน้อย email ที่ Server น้อย (เพราะ email จะถูกลบหลังดึงมา)

ข้อเสีย
1. ไม่สามารถอ่านอีเมล์จาก Email Server หรือเครื่องอื่นได้ หลังจากเรา
เชื่อมต่อด้วย Device อื่นและทำตามดึง email ลงมาแล้ว
2. การจัดการต่างๆจะเป็น Standalone แล้ว, ไม่มีการเชื่อมต่อกับ Server

ใช้ POP แล้วไม่เห็นลบ email จาก server เลย

Gmail - POP
Gmail – POP

พี่ครับผมใช้ Outlook ดึง Gmail ลงมา, ที่แต่ Gmail.com ก็ยังมี email อยู่ ไม่เห็นถูกลบเหมือนที่บอกเลยครับ ?

ในบางผู้ใช้บริการจะสามารถได้ว่าให้ลบหรือไม่ลบได้ครับ ตัวอย่างก็จากรูปด้านบน Gmail สามารถกำหนดเพิ่มเติมได้เช่น
จะให้เก็บ email นั้นไว้หรือลบก็ได้ครับ (เข้าไปตั้งค่าได้ที่ Setttings > Forwarding and POP/IMAP )

IMAP

IMAP = Internet Message Access Protocol มีการทำงานแบบนี้
1. ส่ง title ของ email มาให้เราดู
2. เมื่อกด title ของ email เพื่อดู, Email Client จะทำการ download ลงเครื่องมาก็ต่อเมื่อเรากดอ่าน
3. เมื่อเราจัดการใดๆกับ email, Email Client จะส่งค่าไปยัง Email Server เพื่อให้ Email Server จัดการกับ email นั้น

ข้อดี
1. เข้าถึง / จัดการ email จากอุปกรณ์อะไรก็ได้ จะมีข้อมูลเหมือนกัน (ข้อมูลที่อยู่บน Email Server)
2. การจัดการ email จะส่งผลถึงกัน เช่น เราดูเมลจากที่ทำงานและ ตั้งค่า email นั้นว่าอ่านแล้ว
พอกลับมาบ้าน Login เข้า Email Client อีกตัวหนึ่งก็ยังเห็นว่า email นั้นถูกอ่านแล้ว

ข้อเสีย
1. Protocol ซับซ้อนและทำงานช้ากว่าแบบ POP

Email Client จะเป็นโปรแกรมให้บริการจัดการ email ในฝั่ง client เช่น Outlook หรือ Thunderbird

สรุปสั้นๆของ ความแตกต่างระหว่าง POP และ IMAP

POP : ดึง email มาจัดการบน client
IMAP : จัดการ email บน server