2017-04-11 2 views
0

추적 시스템을 사용하여 SMTP 중계 서비스를 개발해야합니다. 이미 전자 메일 마케팅 시스템을 사용하고 있습니다. 사용자가 이메일을 생성 할 때 배달, 수신 및 클릭 추적이 쉽습니다. 내 인터페이스 및 메시지가 내 서버에서 나오는, 그래서 나는 exim db에서 메시지를 추적 할 수 있고 또한 메시지 아이디를 보내기 전에 메시지 아이디를 PHPmailer 함수로 작성합니다.SMTP 중계 서버에 PHP 코드를 내장하는 방법

그러나 SMTP 릴레이 서비스는 약간 다르지만 내 사용자에게 전자 메일 계정과 암호를 제공했으며 CMS 또는 웹 사이트에서이 자격 증명을 사용하여 내 서버를 사용하여 메일을 보냅니다.

나는 이메일을 보내 smtp.anydomainxxyy.com으로이 흐름처럼 SMTP 연결에

  1. CMS 또는 웹 사이트 로그를 PHP 코드를 삽입하는 방법에 대해 의심의 성공과 함께 연구 한
  2. 보내는 동안 메시지 ID, 보낸 사람 전자 메일을 캡처하고 추가 추적을 위해 어딘가에 태그를 추가하고이를 데이터베이스에 씁니다. 또한 보낸 메시지 수를 추적합니다.
    1. Additionaly, 보내는 동안 메시지가 남아 있는지 확인해야합니다. 메시지가 남아 있지 않으면 보내는 것을 거부합니다.
    2. 메시지가 있으면 사용할 수 있습니다.
    3. 나중에 캡처 된 메시지 ID를 사용하여 배달 상태를 exim 데이터베이스와 비교합니다.

SMTP 서비스가 로그인 웹 사이트 시스템처럼 작동 할 경우, 내가 쉽게 할 수있을 것입니다, 그러나, 나는 심지어 SMTP 자격 증명 검사가 어떻게 만들어 지는지 모른다, 나는 확실히 아니다

  1. 사용자가 dummysmtp.domainxxyy.com에 연결 : 내 사용자가 내 스크립트에 연결할 수 있도록 내가 더미 SMTP 서버를 시뮬레이션 할 수 있고 조건이 충족되는 경우 제 스크립트는 다음과 같이 최종 SMTP 서버에 연결하는 경우 확인 (연결하여 스크립트에서 "smtp.php"라고 말하십시오)
  2. 스크립트 smtp.php는 신빙성을 확인합니다. ials, mailcounter에 1 개의 메시지를 추가하고, 남아있는 메시지가 있으면 계산하고, 예인 경우 smtp.domainxxyy.com (최종 메일 서버)에 연결하면 전자 메일이 전송됩니다.

정말

+0

php에서 가능한 대부분의 것을 볼 수 없습니다. 간단히 말해서 언어가 아닙니다. – nogad

+0

exim이 데이터베이스의 정보를 어떻게 작성하는지 생각하고 있었습니까?exim이 자체 프로그래밍 언어처럼 사용하는 것을 보았습니다. exim db에서 외부 클라이언트가 보낸 메시지를 추적 할 수 있었지만 사용자가 메시지를 보내 자마자 PHP 스크립트를 실행하는 것처럼 멋졌습니다. 그게 가능하다고 생각하니? sendpulse 또는 sendinblu가 SMTP 릴레이 시스템을 어떻게 수행합니까? –

+0

모든 것이 가능하지만 올바른 언어를 사용하십시오 – nogad

답변

0

대단히 감사합니다, 난 그냥 좀 PHP 내 수출입 서버를 사용자 정의하거나 내가이 추적 시스템을 구축 할 수 있도록 내 자신의 더미 SMTP 서버를 만드는 방법을 이해하는 데 필요한 모든 도움을 주셔서 감사합니다 것입니다 대부분의 메일 서버에서는 인바운드 메시지를 외부 스크립트로 파이프 할 수 있습니다. 외부 스크립트는 모든 언어로 작성할 수 있습니다. 이전에는 PHP를 사용했지만, 루아는 아마도 그 맥락에서 최고의 선택 일 것이다. 즉, 설명하는 내용은 전송 맵에서 Postfix가 수행하는 것과 유사하다고 생각됩니다. 즉, 문서에서 약간의 파고를 수행하면 메일 서버에 이러한 기능이 이미 내장되어있을 수 있습니다.

또는 자바 스크립트로 작성된 Haraka과 같이 기본적으로 스크립트 가능한 메일 서버를 살펴보십시오. SMTP 파이프 라인의 어느 지점에서든 모든 종류의 이상한 일을 어느 방향 으로든 수행 할 수 있으며 성능도 꽤 좋습니다.

+0

정말 고마워요! 나는 지금 읽고 읽기 시작할 것이다. –

관련 문제