2014-12-10 5 views
0

전자 메일을 보내는 Coldfusion 서버가 있습니다. 때때로, 그 이메일은 반송되거나 실패 할 것이고, 그 통지는 나의 Gmail 계정으로 돌려 보내질 것입니다. 내가 그 이메일을 구문 분석하고 우리의 데이터베이스에서 잘못된 이메일을 제거 할 수있는 방법이 있습니까? 전자 메일은 뉴스 레터 구독을 통해 전송되므로 구독 취소 옵션이 있습니다. 반송 된 메시지에서 userid (여기 cfhttp를 생각하는 것)를 얻은 다음 사용자 ID를 얻은 다음 그 사용자를 구독 취소/삭제하여 다음 번에 뉴스 레터를 보내도록 파싱 할 수 있습니다. 반송 된 통지를 다시 받으십시오.실패한 수신자가있는 전자 메일 처리 또는 처리

여기 Google API는 올바른 생각입니까? (https://developers.google.com/gmail/api/v1/reference/users/messages/delete)

+0

이것은 오래된 CF9 응용 프로그램에 있습니다. – HPWD

답변

1

나는이 작업을 한 지 오래되었지만 문제의 전자 메일 계정에 로그인하여 특정 제목의 전자 메일을 검색하고 거기에서 원하는 데이터를 수집합니다.이 전자 메일 주소는 바운스 된 전자 메일 주소와 같습니다. 반송 된 전자 메일 주소 목록을 기반으로 IN 절을 사용하여 데이터베이스를 업데이트하십시오.

나중에 스캔 한 메시지를 삭제하십시오.

그러나 CF10 +에서는 보안 연결을 위해 java를 호출하는 대신 secure 속성을 사용할 수 있습니다.

<cfpop 
    server="pop.gmail.com" 
    action="getHeaderOnly" 
    name="popMessages" port="995" maxrows="10" 
    username="[email protected]" 
    password="password" 
    secure="yes|no"> 

의 cfpop로 Gmail에 액세스 할 수있는 방법에 대한 빠른 구글은 이전의 CF와 연결이 유용를 반환했습니다.

<!--- 
See: http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html 
Warning: Changing system properties is potentially dangerous and should be 
done with discretion. 
---> 
<cfset javaSystem = createObject("java", "java.lang.System") /> 
<cfset javaSystemProps = javaSystem.getProperties() /> 
<cfset javaSystemProps.setProperty("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory") /> 

<cfpop 
    server="pop.gmail.com" 
    action="getHeaderOnly" 
    name="popMessages" port="995" maxrows="10" 
    username="[email protected]" 
    password="password"> 
+0

당신도 easycfm에 있습니까? 나는 나이에 당신과 "말을"하지 않았습니다! 당신이 잘 지내고 도움을 주셔서 감사합니다. – HPWD

+0

@dlackey 다른 사람을 생각하고 있다고 생각합니다. 죄송합니다. –

+0

cfqueryparam - 일부 오래된 항목을 공격했을 것입니다. IIRC, CF8 +는 속성을 통해 ssl 및 tls를 지원합니다. 또한 시스템 속성을 변경하면서 보드 전체를 변경하면 매우 조심해야합니다. – Leigh

1

이메일 수신함에서 반송을 확인하려면 코드를 작성할 수 있습니다 (CFPOP 또는 cfImap 사용). FROM 주소가 개인 편지함이 아닌 뉴스 레터 전용 인 경우 더 좋을 것입니다. 이메일이 개인 이메일과 섞이게 될 것이기 때문입니다.

Ria Forge의 Brian Ghidinelli의 앱인 Email Bounce Detector은 각 메시지를 검사하여 바운스인지 확인하는 데 도움을줍니다.

한 가지주의 할 점은 일부 반송은 이 아니고은 제거되어야 함을 나타냅니다. 예를 들어 사서함 가득 참 메시지 또는 일시적인 지연 (회색 목록). 그래서 당신의 논리는 단지 "바운스했을뿐 아니라"왜 그리고 얼마나 자주 추적해야 하는가를 추적해야합니다. 일반적으로 1 주일에 3 번 이상 접종하는 문턱치가 있습니다.

+0

Gmail은 내 개인 계정이 아니기 때문에 문제가 없지만 좋은 점을 알려줍니다. 의견을 보내 주셔서 감사합니다. – HPWD

관련 문제