2012-02-04 2 views
1

웹 대량 메일 소프트웨어를 작성하는 경우 이메일을 반송/오류를 관리하는 가장 좋은 방법은 무엇입니까? 나는 그것을 위해 PHP를 사용할 계획이다.이메일 수신 거부 및 PHP에서 오류를 관리하는 방법은 무엇입니까?

누군가가 비명을 지르기 전에, 해당 목록은 동의 한 유효한 고객의 목록입니다.

이러한 것들을 관리 할 수있는 데스크톱 소프트웨어 또는 제 3 자 웹 사이트가 있다는 것을 알고 있습니다. 나는 현재의 CMS의 시각적 디자인과 비슷한 디자인으로 그것을 보여주고 거기에 접근 할 수 있기를 원한다.

유일한 해결책은 메일 서버에 연결하여 수신 거부 메시지를 읽는 것입니다. 그렇다면 나는 그렇게 할 것입니다. 그런 다음 데이터를 구문 분석하여 해당 이메일을 "유효하지 않은"것으로 플래그를 지정하는 방법은 무엇입니까?

는 당신이 PHP 스크립트를 가진 제외 할 수

+0

'최선의 관리 방법'이란 무엇입니까? 무엇을 관리합니까? –

+0

@Paul, 이메일 수신 거부? 대상이 더 이상 존재하지 않거나 도달 할 수 없기 때문에 서버로 다시 반송 된 전자 메일 – Cybrix

+0

부재 중 부재도 반송으로 간주 될 수 있지만 무시됩니다. – Cybrix

답변

1

한 가지 가능한 것은 PHP 스크립트에 특정 주소 파이프 수신 메일에 일 것 POP/IMAP 서버에서 메일을 읽어 주셔서 감사합니다. See Google

그런 다음 내가 RFC 이메일을 구문 분석을 지원하는 PHP 확장 mailparse를 설치 한 $email = file_get_contents('php://stdin'); 같은 것을 수행하여에서 메시지의 전체 내용을 읽을 것이지만, 사용할 수있는 다른 옵션이 있습니다. 반드시 메시지를 파싱하는 데 아무 것도 사용하지 않아도됩니다.

메시지를 받으면 메시지에 플래그를 표시하는 데 사용할 수있는 여러 가지 표시기가 있습니다. 먼저 Non Delivery Reports에 대한 위키 백과 문서, 특히 FormatRFC 6522 - The Multipart/Report Media Type for the Reporting of Mail System Administrative Messages을 참조하십시오. 메시지의 일반적인 헤더 (예 : X-Failed-Recipients 또는 Diagnostic-Code)를 확인할 수도 있습니다.

PHP 메일 프로세서에서 메시지가 반송으로 판단되면 적절한 조치를 취하고 데이터베이스에서 해당 전자 메일과 관련된 플래그를 설정할 수 있습니다. 걱정 되시면 주소가 좋지 않음을 의미하지는 않습니다. 예를 들어, 메일 서버가 며칠 동안 다운 된 경우 MTA가 포기할 수는 있지만 주소가 좋지 않음을 의미하지는 않습니다. 또한 사용자의 사서함이 가득 찰 수 있습니다.

반송 된 메시지의 사본을 기록하여 문제를 진단하거나 신고 또는 특정 이메일 주소를 되돌려 줄 필요가있는 경우 사람이 확인할 수 있도록하는 것이 좋지 않습니다.

http://forums.theplanet.com/lofiversion/index.php/t89873.html (주 개선 가능성 2)
https://stackoverflow.com/questions/5700034/how-do-i-process-a-bounce-email-to-find-the-error-code
Bounce Email handling with PHP?

희망하는 데 도움이 :

여기에 몇 가지 추가 참조입니다.