수동 텔넷 세션을 사용하여 SMTP 연결 테스트

게시 됨: 2022-04-04

DigitalOcean, AWS, Vultr 등과 같은 서버 제공업체는 스팸이 통과하지 못하도록 이메일의 발신 포트 25를 차단합니다. 그러나 언제든지 차단 해제를 요청할 수 있습니다. 포트 25가 차단되었는지 확인하려면 수동 텔넷 세션을 사용하여 SMTP 연결을 테스트할 수 있습니다.

SMTP 연결 오류는 다양한 방법으로 해결할 수 있지만 명령줄에서 직접 감지할 수 있습니다. Telnet은 일반적으로 SMTP 연결 실패를 테스트하는 데 사용됩니다. 다음 단계에서는 Telnet을 사용하여 이메일 서버를 테스트합니다. 이메일 서버 설정의 중요한 부분은 SMTP가 명령줄(Linux)에서 작동하는지 확인하는 것입니다.

Telnet은 명령줄에서 SMTP를 확인하는 가장 일반적으로 사용되는 방법입니다. SMTP 릴레이를 테스트하는 가장 일반적인 방법이기도 합니다.

목차

SMTP 란 무엇입니까?

SMTP는 메일 발신자가 명령 문자열을 보내고 신뢰할 수 있는 순서가 지정된 데이터 스트림 채널(종종 TCP(Transmission Control Protocol) 연결)을 통해 필요한 데이터를 제공하여 메일 수신자와 연결하는 텍스트 기반 연결 지향 프로토콜입니다.

SMTP 세션은 SMTP 클라이언트(초기 에이전트, 발신자 또는 전송기)의 명령과 세션을 시작하고 세션 매개변수를 교환하는 SMTP 서버(수신 에이전트 또는 수신자)의 응답으로 구성됩니다. 세션에 0개 이상의 SMTP 트랜잭션이 있을 수 있습니다. 세 가지 명령/응답 시퀀스가 ​​SMTP 트랜잭션을 구성합니다.

  1. MAIL 명령(반환 경로, 역경로, 반송 주소, mfrom 또는 봉투 발신자라고도 함)을 사용하여 반송 주소를 설정합니다.
  2. 메시지 수신자를 설정하려면 RCPT 명령을 사용하십시오. 이 명령은 받는 사람마다 하나씩 필요한 만큼 반복할 수 있습니다. 봉투에도 이러한 주소가 있습니다.
  3. DATA는 메시지 텍스트의 시작을 나타냅니다. 봉투가 아닌 메시지의 내용입니다. 메시지 헤더와 메시지 본문 사이의 빈 줄로 구성됩니다. 서버는 두 번 응답합니다. 먼저 DATA 명령 자체에 응답하여 텍스트를 수신할 준비가 되었음을 확인하고 다시 데이터 끝 시퀀스 후에 전체 메시지를 수락하거나 거부합니다.

텔넷 세션이란 무엇입니까?

Telnet은 원격으로 컴퓨터에 액세스하고 두 컴퓨터 간에 양방향 협업 텍스트 기반 통신 채널을 설정하기 위한 네트워크 프로토콜입니다.

사용자가 제어하는 ​​TCP/IP(전송 제어 프로토콜/인터넷 프로토콜) 네트워킹 프로토콜을 사용하여 원격 세션을 만듭니다. 웹의 HTTP(Hypertext Transfer Protocol) 및 FTP(File Transfer Protocol)는 단순히 사용자가 멀리 떨어진 컴퓨터에서 특정 파일을 요청할 수 있도록 하는 반면 Telnet을 사용하면 해당 컴퓨터의 특정 응용 프로그램 및 데이터에 할당된 권한으로 일반 사용자로 로그온할 수 있습니다. 컴퓨터.

Telnet은 코더와 원격 컴퓨터의 특정 앱이나 데이터에 액세스해야 하는 모든 사람이 가장 일반적으로 사용합니다.

텔넷은 어떻게 작동합니까?

Telnet은 원격 컴퓨터(일반적으로 서버)에서 명령줄을 여는 클라이언트-서버 프로토콜입니다. 이 유틸리티를 사용하여 포트를 ping하고 포트가 열려 있는지 확인할 수 있습니다. Telnet은 시스템에 연결된 물리적 터미널처럼 작동하기 위해 표준 프로토콜을 사용하는 컴퓨터 연결의 추상 인스턴스인 가상 터미널 연결 에뮬레이터를 사용합니다. 데이터 파일을 통신해야 하는 사용자의 경우 FTP와 Telnet을 함께 사용할 수 있습니다.

텔넷을 사용하면 시스템에 대한 텔넷으로 알려진 원격 시스템에 연결할 수 있습니다. 원격 컴퓨터에 액세스하려면 사용자 자격 증명 조합을 제공해야 합니다. 이렇게 하면 컴퓨터에 실제로 있는 것처럼 명령줄을 실행할 수 있습니다. 사용자의 IP 주소는 실제 위치에 관계없이 로그인에 사용한 컴퓨터 대신 로그인한 컴퓨터와 일치합니다.

Telnet의 용도는 무엇인가요?

Telnet은 파일 편집, 프로그램 실행 및 이메일 검사를 포함하여 서버에서 다양한 작업을 수행하는 데 사용할 수 있습니다.

일부 서버는 간단한 게임을 하거나 일기 예보를 찾기 위해 텔넷을 통해 공개 데이터에 원격 연결을 허용합니다. 이러한 기능의 대부분은 향수를 불러일으키거나 특정 데이터가 필요한 이전 시스템과 여전히 호환되기 때문에 존재합니다.

또한 Telnet을 사용하면 웹 서버 및 포트와 같이 텍스트 기반의 암호화되지 않은 프로토콜을 사용하는 모든 소프트웨어에 연결할 수 있습니다. 사용자는 원격 시스템에서 cmd를 열고 telnet 다음에 원격 시스템의 이름 또는 IP 주소를 입력할 수 있으며 telnet 세션은 포트가 열려 있는지 여부를 확인하기 위해 포트를 ping합니다. 빈 화면은 포트가 열려 있음을 나타내지만 포트가 연결되었음을 나타내는 오류 메시지는 포트가 닫혀 있음을 나타냅니다.

텔넷의 보안

Telnet은 비보안, 암호화되지 않은 프로토콜입니다. 누구나 사용자의 연결을 모니터링하여 Telnet 세션 중에 일반 텍스트로 입력된 사용자의 사용자 이름, 암호 및 기타 기밀 정보를 볼 수 있습니다. 이 정보는 대상 컴퓨터에 액세스하는 데 사용할 수 있습니다.

Telnet을 사용하여 SMTP 연결 테스트

먼저 나가는 포트 25가 열려 있는지 확인하기 위해 몇 가지 테스트를 실행할 것입니다. 첫 번째 경우에는 차단된 SMTP 포트 25를 시연하고 두 번째 경우에는 텔넷을 사용하여 이메일을 보내게 됩니다.

사례 1: 포트 25가 차단됨

명령줄에서 다음 명령을 실행합니다(이메일 문제가 있는 서버에서 이 명령을 실행해야 함).

 텔넷 <IP_ADDRESS_OF_REMOTE_MAIL_SERVER> 25

"TRYING ..."과 같은 메시지를 받았지만 나가는 포트 25가 차단되어 서버에서 이메일 메시지를 보낼 수 없다는 것을 의미하는 다른 메시지가 없다면.

사례 2: 포트 25가 열린 경우:

메일 서버의 IP 주소가 없는 경우 로그인할 메일 서버를 찾아야 합니다. 이를 위해서는 주어진 도메인에 대한 DNS MX 레코드가 필요합니다. 이것은 다음 명령으로 찾을 수 있습니다

 nslookup -type=mx DOMAIN_NAME

SMTP는 Microsoft Outlook에서 자주 사용되는 25, 465 또는 587의 세 ​​가지 포트 중 하나를 사용합니다. SMTP 릴레이가 25 이외의 포트를 사용하는 경우 메일 교환 서버의 nslookup 응답에 제공된 포트를 사용합니다. 관리자에게 문의하거나 메일 교환 서버로 이동하여 프로토콜을 보고 SMTP가 사용하는 포트를 확인할 수 있습니다.

SMTP 서버에 로그인하려면:

 텔넷 <IP_ADDRESS_OF_MAIL_SERVER> <포트>

연결된 경우 이메일 보내기를 계속할 수 있습니다.

EHLO 또는 HELO 명령은 SMTP 이메일 테스터를 위해 메일 서버에 보내야 하는 첫 번째 명령입니다. 이것은 SMTP 서버와 텔넷 클라이언트의 대화를 시작하는 간단한 환영입니다.

 EHLO <DOMAIN_NAME>
smtp 연결 테스트

SMTP 서버가 수락하는 SMTP 명령이 여기에 표시됩니다.

MAIL FROM 명령은 우리가 실제로 실행해야 하는 다음 명령입니다. 바운스가 전송되는 주소는 이것에 의해 결정됩니다.

 메일 발신자: <[이메일 보호됨]>

이제 MAIL FROM 명령이 실행된 후 RCPT TO 명령을 보낼 수 있습니다. 이 명령은 지정된 수신자에게 메시지를 보내도록 SMTP 메일 서버에 지시합니다.

 RCPT 받는 사람: <[이메일 보호됨]> 

DATA 명령은 메시지 본문을 시작하기 전에 실행할 마지막 명령입니다. 이 명령은 나머지 메시지가 메시지 본문으로 전송될 것임을 SMTP 메일 서버에 알립니다.

 데이터 

제목: <SUBJECT> 를 입력하고 Return 키를 누릅니다.

< 테스트 메시지 >를 입력하고 Return 키를 누릅니다.

메시지가 완료되면 SMTP 서버에 작업이 완료되었으며 SMTP 메일 서버가 이를 수락하기를 원한다고 알려야 합니다. 한 줄에 마침표를 표시하면 됩니다. 메시지를 작성하는 동안 한 줄에 마침표가 필요한 경우 마침표를 두 개 사용합니다. 첫 번째 마침표는 두 번째 마침표를 이스케이프합니다.

.

OK 메시지가 나타난 후 ID 코드가 표시됩니다. 귀하의 메시지가 전달되었습니다.

Telnet 창으로 돌아가서 quit를 입력하여 SMTP 서버 연결을 종료한 다음 quit를 입력하여 Telnet 세션을 종료하십시오.

 그만두다 

결론

테스트를 완료하면 이메일 서버 또는 이메일 서버에 액세스하는 데 사용한 주소 및 정보에 문제가 없음을 확신할 수 있습니다.

SMTP 서버에서 원본 이메일 주소가 유효하지 않다고 알려주면 잘못 입력했을 수 있습니다. 또한 이메일 계정에 문제가 있어서 새 이메일 클라이언트에서 작동하지 않을 수도 있습니다.

새 이메일 클라이언트에서 떨어져 있는 동안 텔넷을 통해 SMTP 서버를 테스트하면 이메일 문제의 가능한 모든 원인을 좁히는 데 도움이 됩니다.