
이메일을 보내면 다음과 같이 작동합니다.
내 이메일 클라이언트 -> 내 SMTP -> 수신자 SMTP -> 수신자 이메일 클라이언트
내 전자 메일 클라이언트가 내 SMTP와 통신하는 방법을 알고 있지만 SMTP 서버는 어떻게 각 서버와 통신합니까? 데이터는 어떻게 전송되고 있나요? 누군가 Telnet 로그 같은 것을 붙여넣을 수 있나요?
답변1
실제로 귀하의 질문에 대답합니다.
이메일 클라이언트가 다음과 같이 SMTP 대화를 시작하는 것과 같습니다(텔넷을 통해 수행하려는 경우).
MAIL FROM: <[email protected]>
RCPT TO: <[email protected]>
DATA
Blah blah blah text
.(period)
- 그러면 이메일 서버는 일반적으로 이메일을 대기열에 넣습니다.
- 전송할 준비가 되면 도메인에 대한 DNS 조회를 수행하고 MX 레코드(또는 MX가 없는 경우 A 레코드)를 찾습니다. 이것이 어떤 서버와 대화를 시작할지 아는 방법입니다.
- 마지막으로 메일 서버(인용 블록에 있는 항목)와 수신자 메일 서버에 대해 방금 했던 것과 동일한 대화가 시작됩니다. 거기에서 수신자의 메일 서버에 따라 다릅니다.
***참고로 제가 설명하는 smtp 명령은 암호화되지 않거나 인증되지 않았으며 지나치게 단순화되었습니다.