2010-06-29 7 views
3

반송 된 메시지를 처리하고 책임있는 시스템 관리자에게 보내려고합니다.이메일 처리하기 CakePHP와 Postfix에서 반송하기

나는 CakePHP 이메일 구성 요소를 사용하여 메시지를 보냅니다. 서버 측에서는 postfix를 사용하여 메시지를 전송합니다.

function sendAsEmail($data) { 
    $Email->sendAs = 'html'; 
    $Email->from = $user['Sender']['username'] . '@example.com'; 
    $Email->return = Configure::read('App.systemAdminEmail'); 
    $Email->bcc = array($data['Message']['recipient_text']); 
    $content = 'Some content'; 
    $Email->send($content); 
} 

위에서 볼 수 있듯이 $ 전자 메일을 sysadmin의 전자 메일로 보내면 모든 반송 된 메시지가 전송됩니다.

postfix 구성에서 bounce.cf 템플릿을 만들고 bounce_template_file을 설정해 보았습니다. http://www.howtoforge.com/configure-custom-postfix-bounce-messages

어떻게 반송 된 메시지를 받고 시스템 관리자에게 보냅니 까?

+0

... 귀하의 질문은 무엇입니까? –

+0

질문이 하단에 추가되었습니다. – user181677

답변

1

당신이해야 할 일은 PHP 용 SMTP (또는 POP3) 커넥터를 사용하는 것입니다. 그런 다음 기본적으로 서버에 로그인하여 반송 된 메시지를 요청하고 적절히 구문 분석 할 PHP 이메일 클라이언트를 직접 만들어야합니다.

나는 이것을위한 CakePHP 구성 요소가있을 것이라고 생각 하겠지만 찾을 수는 없습니다.

귀하의 이메일에 봉투 머리글을 사용하는 것이 좋습니다. 그렇지 않으면받는 사람 서버 바운스를 구문 분석하는 데 막혀있을 것이므로 매우 일치하지 않습니다. VERP (가변 봉투 반환 프로토콜?) 헤더를 사용하는 경우 PHPEmailClient에서 구문 분석하기 쉬운 고유 한 해시를 전자 메일 주소로 인코딩 할 수 있습니다. VERP에

상세 정보 : http://en.wikipedia.org/wiki/Variable_envelope_return_path

케이크 별 VERP 물건 : http://www.mainelydesign.com/blog/view/setting-envelope-from-header-cakephp-email-component

는 또한 매우 당신 SwiftMailer를 사용하여 조사하는 것이 좋습니다. 그것은 많은 플러그인을 가지고 있습니다; 필요한 것을하기 위해 쉽게 수정할 수있는 기본 PHP SMTP 클라이언트를 찾을 수 있습니다. http://swiftmailer.org/