SMTP Inside Out

როგორ მუშაობს ინტერნეტ ელ

ოდესმე გაოცებული რა მოხდება, როდესაც თქვენ დააჭირეთ ღილაკს თქვენი ელფოსტის პროგრამაში? ალბათ არა, ვფიქრობ - სანამ ის მუშაობს. ეს არის ზუსტად მიზეზი, რის გამოც უნდა გაინტერესებთ, თუმცა. იმ შემთხვევაში, თუ რაღაც არ მუშაობს, კარგია იცოდეს რა არ მუშაობს. როგორც წესი, ეს ნახევარი გამოსავალია.

ელ-ფოსტის გაგზავნა SMTP- ის ჩართვისას. SMTP მოკლეა მარტივი ფოსტის გადაცემის პროტოკოლისთვის, როგორც ეს განსაზღვრულია RFC 5321- ში: მარტივი ფოსტის გადაცემის პროტოკოლი. თქვენი საფოსტო კლიენტი საუბრობს SMTP სერვერზე ამ სუფთა და მარტივი პროცედურის გამოყენებით, რათა მიიღოთ ელ-ფოსტა ერთი ადგილიდან მეორეზე.

The Flirt

თქვენი ელფოსტის პროგრამა ხდება SMTP კლიენტი , რომელიც დაკავშირებულია საფოსტო პორტის 25 პორტალთან (ჩვეულებრივ SMTP პორტი ) და - ამბობს EHLO . კომპიუტერები, საბოლოო ჯამში, მხოლოდ ადამიანისა და რა არის ის, რომ მას სურს იყოს თავაზიანი. სინამდვილეში, ეს არ ცდილობს თავაზიანი იყოს, მაგრამ მოგვიანებით გამოიყენოს SMTP- სთვის, რომლებიც მოგვიანებით HELO- ს ბრძანების ორი არომატით მოიტანეს (SMTP ბრძანება, ძირითადად, ოთხი სიმბოლოა).

ჰელოოს ორი ფლორტი

EHLO, რომელიც უფრო ახლო ხდის სერვერს აწვდის ყველა დამატებით ფუნქციას (როგორიცაა მიწოდების სტატუსის შეტყობინება ან შეტყობინებების ტრანსპორტირების უნარი, რომელიც შეიცავს ASCII- ის უსაფრთხო პერსონალის გარდა).

არა ყველა სერვერი საშუალებას მისცემს ამ მისალმებას, მაგრამ აუცილებელია მიიღოს უბრალო HELO, რომელიც ბუნებრივად მიიჩნევს, რომ დამატებითი ფუნქციები არ არსებობს. ორივე Hello Commands მოითხოვს კლიენტს განსაზღვროს თავისი დომენის ** LO, თუმცა. პრაქტიკაში, ეს ასე გამოიყურება:

220 mail.domain.net ESMTP სერვერი
გამარჯობა
501 HELO მოითხოვს დომენის მისამართს
ჰელო ლოგოჰოსტი
250 mail.domain.net Hello localhost [127.0.0.1], მოხარული შეხვდება თქვენ

(ჩემი შეყვანა არის italics , სერვერების გამომავალი არის შავი, ხაზები დაწყებული 5 მიუთითებს შეცდომა .)

გამგზავნი

დანარჩენი ოქმი ნამდვილად იმსახურებს ატრიბუტს მარტივი. თუ ელ-ფოსტის გაგზავნა გსურთ, დაიწყეთ სიტყვა MAIL- ის გამოყენებით:. ამის შემდეგ იგზავნება ელ-ფოსტის მისამართი , როგორც ეს მითითებულია. არ უნდა დაგვავიწყდეს, რომ ფრჩხილებში დავამატოთ მისამართი (თუმცა, როგორც ). განაგრძობს ჩვენს მაგალითს:

ფოსტის მისამართი:
250 sender@example.com ... გამგზავნი ok

მიმღები

მას შემდეგ, რაც სერვერმა მიიღო გამგზავნის მისამართი, კლიენტს შეუძლია მისცეს მიმღების მისამართი. ბრძანება ამ ქმედებას, RCPT- ს: კვლავ საკმაოდ დამაფიქრებელია. მინდა გამომიგზავნოთ წერილი:

RCPT- დან: recipient@example.com
250 support@lifewireguide.com ... მიმღები ok (იქნება მდგომ)

სერვერი რიგში ნიშნავს იმას, რომ ის ინახავს გვერდს ადგილობრივად და გააგზავნის მას სხვა მზვერავ შეტყობინებას ინტერვალებით (მაგალითად, ყოველ 30 წუთში). ეს ქცევა დამოკიდებულია კონფიგურაციაზე და სერვერი ასევე შეუძლია გაუგზავნოს ფოსტა მყისიერად.

ჩვენ თითქმის გავაკეთეთ. თუმცა მაინც აკლია, მნიშვნელოვანი ნაწილია: ფაქტობრივი შეტყობინება.

შეტყობინება

ახლა, რომ "კონვერტი" დასრულდა, ელექტრონული ფოსტის გაგზავნა, ისევე, როგორც ეს შეიძლება დაიცვას. ეს "მონაცემები" შედგება ელ-ფოსტისა და სათაურის სფეროებში .

ბრძანების ინიცირება სახელმწიფო, რომელიც იღებს სერვერს მიიღოს გაგზავნა არის DATA . შემდეგ ეს არის ელფოსტის ყველა წერილის სათაურები და შემდეგ სხეული, როგორც ტექსტის მხოლოდ ერთი დიდი ბლოკისთვის (ან მონაცემთა). სერვერზე რომ ვთქვათ, შეყვანის დასრულება dot- ში თავად გამოიყენება (\ r \ n. \ R \ n). ამიტომ მივგზავნი ჩემს შეტყობინებას:

DATA
354 შეიყვანეთ ფოსტა, დასრულდება "." ხაზის მიხედვით
შეტყობინება- ID:
თარიღი: მზე, 17 აგვ. 1997 18:48:15 +0200
მდებარეობა: ჰაინც ცაბაბიცერი
To: ჰაინც ცაბაბიცერი
თემა: Summarize-Proust კონკურსი

გამგზავრება გედების სამყაროში!
.
250 SAA19153 შეტყობინება მიღებულია მიწოდება

დიახ, ეს იმას ნიშნავს, რომ თქვენ შეგიძლიათ თქვათ სახელი სრულიად განსხვავებული ერთი ელ მიდის to: სფეროში. მაგალითად, შეგიძლიათ გამოიყენოთ " მიმღების სია აღკვეთილი" .

დასასრული

ახლა თქვენ შეგიძლიათ გააგზავნოთ როგორც ბევრი ელ.ფოსტა, როგორც თქვენ გსურთ გააგზავნოთ ნაბიჯები MAIL- დან: დან . . თუ თქვენ კეთდება, თქვენ შეგიძლიათ სერვერიდან QUIT ბრძანებით გამოტოვოთ და ეს მხოლოდ ის, რაც ჩვენ გავაკეთებთ:

QUIT
221 Goodbye

როგორ შემიძლია ამის გაკეთება?

არასამთავრობო ტრივიალური გამოსავალი არის telnet თქვენს გამავალი ფოსტის სერვერიდან (შეგიძლიათ მისი მისამართი თქვენი ელფოსტის კლიენტის ანგარიშის პარამეტრები ) პორტში 25.

ადვილი გზაა ამ ჯავის აპლიკაციის გამოყენება , რომელიც ცდილობს განახორციელოს SMTP პროტოკოლი და უძღვება დიალოგს.