2009-11-07 5 views
3

내 MTA를 무시하고받는 사람의 메일 서버로 DIRECLTY 전자 메일을 보내야합니다. 센드 메일과 같은 MTA를 사용해야하는 몇 가지 중요한 이유가 있다는 것을 알고 있으므로 그 방향으로 조언 할 필요가 없습니다. 나는받는 사람의 메일 서버에 직접 연결하는 코드를 작성하고 싶습니다.SMTP 프로토콜을 사용하여 이메일 *을 직접 보낼 수있는 적절한 방법은 무엇입니까? (내 끝에서 MTA 무시)

여기에 아무 것도 없습니다.

  1. 대상 이메일은 [email protected]
  2. 가정 domain.com에 대한 MX 레코드를보고 임의의 MX 항목을 선택합니다. domain.com에 대한 MX 레코드가 없으면 우리는 "서버"
  3. 연결로 "domain.com"를 사용,이 "서버"
  4. 전화 할게 포트 25
  5. 전송이에서 "서버"에 :

HELO myserver.com
MAIL FROM : <[email protected]>
RCPT TO : <[email protected]>
데이터
Subject : 이것은 테스트입니다.

안녕하세요, 이것은 테스트 메시지입니다.


이 많은 경우에 근무하고있다을 종료합니다. 내가 궁금해하는 것은 - 나는 무엇을 놓치고 있는가? 이 방법이 효과가 없을 경우가 있습니까? 더 특별한 조치를 취해야합니까?

내가 테스트 한대로 테스트 할 수 있습니까? 내가 연결 한 원격 서버에 "메시지가 배달을 위해 수락 됨"이라고 표시되면 문제가 해결 될 것이라고 가정 할 수 있습니까?

+0

나는 수퍼 유저, 즉 https://superuser.com/ – davidkonrad

답변

4

각 단계를 따르십시오. 물론 점으로 시작하는 메시지의 줄을 이스케이프 처리해야합니다. 예, 꽤 많이 있습니다.

이것은 직접 MX 로의 메일 링으로 알려져 있으며 사용자가 잘못된 주소를 입력했거나 메일을 수락하지 않고 바로 알릴 수있는 경우 바로 바로 알릴 수있는 장점이 있습니다. 이는 사용자가 가입 메일이 어디로 갔는지 궁금해하는 사용자를 원하지 않는 웹 사이트 가입 프로세스에 유용합니다.

그러나 MX 로의 직접 메일의 주요 사용자는 불행히도 스팸 발송자입니다. 따라서 스팸 대책이 나올 수도 있습니다.

첫째, 일반적으로 바보 같은 소프트웨어를 사용하는 스팸 발송자가 첫 번째로만 시도하기를 기대하는 도메인은 여러 개의 MX를 가질 수 있습니다. 하나의 MX에서 전송이 실패하면 다른 MX를 시도해야합니다.

스팸 발송자가 사용하는 스크립트와 같이 품질이 낮은 MTA와 구별하기 위해 ESMTP (EHLO 외)를 구현할 가치가 있습니다. 나는 메일 서버가 거기에 기반하여 스팸 점수를 차별한다는 어떠한 증거도 가지고 있지 않지만, 아마 누군가가 생각한 것일 수도 있습니다.

보다 일반적인 문제는 greylisting입니다. greylisting이 생성하는 일시적 실패 응답에 메일이 도착하기를 원한다면 조금 기다렸다가 연결을 시도하고 다시 보내야합니다. 이것은 MX 로의 직접 메일의 잠재적 인 무국적자 및 신속한 실패의 이점을 잃어 버리게됩니다.

물론 업스트림 ISP 메일 릴레이없이 메일을 보내는 모든 솔루션에서 직접 또는 로컬 포스트 픽스를 통해 주소를 차단할 위험이 있습니다. 이 가능성은 HELO와 일치하도록 역 DNS를 설정할 수없고 동적으로 할당 된 주소처럼 보이지 않는 경우 증가합니다.

+0

에 대한 답을 얻을 수 있다고 생각합니다. 메일 서버가 사용자의 존재 여부를 확인할 수 있다면 "수동으로"보낼 수는 있지만 귀하의 메일 서버를 사용하면 배달에 적합한 MX를 찾는 것에 대해 걱정할 필요가 없습니다. –