Simple Mail Transfer Protocol (SMTP, ראשי תיבות: פרוטוקול פשוט להעברת דואר) הוא הפרוטוקול הסטנדרטי לשליחת דואר אלקטרוני באינטרנט.
SMTP משמש לשליחת דוא"ל בין שרתים עד שהוא מגיע לשרת היעד. הוא לא מאפשר למשתמשים לשלוף הודעות מהשרת. פרוטוקולים אחרים לשליפה הם POP3 ו-IMAP.
SMTP הוא פרוטוקול טקסטואלי. המשמעות: השולח שולח פקודות טקסט פשוטות, והשרת משיב בקודים מספריים ולעיתים בטקסט. להעברה של קבצים בינאריים משתמשים ב-MIME (פורמט שמאפשר לשלוח סוגי קבצים שונים דרך דואר).
SMTP רץ מעל TCP (פרוטוקול תקשורת שכפול שומר על חיבור אמין) ומשתמש בדרך כלל בפורט 25. פורט מקובל לשליחת הודעות הוא 587. חיבור מוצפן של SMTP נקרא SMTPS ומשתמש בדרך כלל בפורט 465.
שורשי הפרוטוקול חוזרים לשנת 1982, עוד בזמן ARPANet, ולכן הוא יחסית פשוט. פשטות זו גוררת חולשה: שדה "From" לא מאומת חזק, וזה מאפשר התחזות של שולחים. זו סיבה לספאם. יש יוזמות להתמודדות עם הבעיה, כגון DomainKeys.
ESMTP הוא עדכון של SMTP מ-2008 שהוסיף יכולות ואפשר מענה לבעיות אבטחה. היום רוב המערכות משתמשות בגרסה הזו.
כדי למצוא לאן לשלוח דואר, המערכת מבקשת את רשומת ה-MX ב-DNS. MX (Mail eXchange) מציין את שרתי הדואר של הדומיין. אם יש כמה שרתים, נבחר השרת בעל העדיפות הגבוהה יותר (המספר הנמוך יותר). שרתים שווי עדיפות יחולקו בדרך של Round Robin בין השרתים.
שרתים גם בודקים אם שם התחום אכן קיים ב-DNS. לרוב בקשת שליחה תדחה אם התחום לא קיים, זה חלק מהמאבק בספאם. בנוסף הוצעה הרחבה של רשומת TXT שתכלול רשימת שרתים מורשים לשלוח דואר בשם התחום; צורה זו נקראת רשומת SPF.
SMTP ותיק, ויש אתגרי שדרוג בגלל הצורך בתאימות לאחור. חולשות בסיסיות בפרוטוקול מקשות על אימות שולח ועל מניעת זדוניות.
(אין פירוט בטקסט המקורי.)
כאשר מתחברים לשרת SMTP מרוחק הוא מצפה לפתיחה שמתחילה ב-HELO ואחריה שם התחום. למשל:
HELO mydomain.com
לאחר מכן נשלחות פקודות כמו "MAIL FROM" עם כתובת המקור:
MAIL FROM:
אחר כך נשלח "RCPT TO" עם כתובת היעד:
RCPT TO:
הפקודה DATA מציינת את תחילת גוף ההודעה. שורה שמכילה נקודה בלבד מסמנת את סוף המידע. למשל גוף ההודעה יכול להכיל שורה אחת: I`m sorry to say that I want to leave you.
לבסוף על מנת לסיים את ההתקשרות נכתב:
SMTP (ראשי תיבות של Simple Mail Transfer Protocol) הוא הפרוטוקול שמאפשר לשלוח דואר אלקטרוני באינטרנט. פרוטוקול זה אחראי על שליחת המיילים בין השרתים.
SMTP שוטח דואר משרת לשרת. הוא לא נותן למשתמשים לשלוף דואר. לשליפה יש פרוטוקולים אחרים, כמו POP3 ו-IMAP.
SMTP עובד עם פקודות טקסט פשוטות. השרתים עונים בקודים ומילים. כשצריכים לשלוח קבצים משתמשים ב-MIME. MIME זה פורמט שמאפשר להעביר קבצים דרך דואר.
SMTP משתמש ב-TCP. TCP הוא פרוטוקול שמשמור על חיבור יציב באינטרנט. בדרך כלל משתמשים בפורט 25. לשליחה מאומתת משתמשים בפורט 587. גרסה מוצפנת נקראת SMTPS.
SMTP נוצר ב-1982. הוא פשוט, וזה גם יצר בעיה: אפשר לזייף את כתובת השולח. כדי להילחם בזה יש רעיונות כמו DomainKeys.
כדי למצוא לאיזה שרת לשלוח, המחשב בודק רשומת MX ב-DNS. MX אומר איזה שרת דואר שייך לדומיין. אם יש כמה שרתים, בוחרים לפי עדיפות.
שרתים גם בודקים אם שם הדומיין קיים. אם הדומיין לא קיים, הבקשה תידחה. יש גם רעיון להשתמש ברשומת TXT כדי לרשום אילו שרתים מורשים לשלוח דואר. זו רשומת SPF.
דוגמה לפקודות:
HELO mydomain.com
MAIL FROM:
RCPT TO:
DATA
שורה עם נקודה בלבד מסמנת את סוף ההודעה.
לבסוף על מנת לסיים את ההתקשרות נכתב:
תגובות גולשים