이메일을 받고 웹 애플리케이션에서 처리하는 방법
PHP 웹 애플리케이션에 이메일 ID를 설정했습니다. 사용자는이 ID로 이메일을 보냅니다.
신청서에서 이러한 이메일을 처리하고 싶습니다. 이 일을 할 수 있습니까?
미리 감사드립니다.
최근에 Gmail에서 이메일을 구문 분석하고 이메일 내용에 따라 특정 값으로 데이터베이스를 업데이트해야하는 프로젝트에서 작업했습니다. 내가 사용
ezcMail (지금) 제타 구성 요소 메일 서버에 연결하고 전자 우편을 구문 분석하는 라이브러리를.
내가 채택한 전략은 "처리되지 않음"이라는 레이블로 모든 흥미로운 수신 메일을 필터링하는 것이 었습니다. 15 분마다 crontab을 통해 PHP 스크립트를 실행합니다. 스크립트는 메일 서버에 연결하고 처리되지 않은 IMAP 폴더를 열고 각 이메일을 구문 분석합니다. 데이터베이스에 흥미로운 값을 삽입 한 후 스크립트는 파일을 다른 IMAP 폴더 "Proccessed"로 이동합니다.
나는 또한 이러한 종류의 처리에 대해 IMAP이 POP보다 더 나은 것으로 나타났습니다 .
최근에 제가 만들고있는 일에서 즉시 이메일을받을 수 있기를 원했기 때문에 몇 가지 조사를했고 (실제로이 질문에 대해서도 살펴 봤습니다) Google App Engine이 매우 유용하다는 것을 알게되었습니다. 로 보낸 이메일을 수신하고 처리하는 데 사용할 수있는 API가 있습니다 ____@yourapp.appspotmail.com
. App Engine에서 앱을 원하지 않고 yourdomain.tld에서 이메일을 받기를 원하기 때문에 실제로 도움이되지 않는 것 같지만 약간의 설정을 통해 원하는 것을 얻을 수 있습니다.
내 기본 설정은 다음과 같습니다.
- 사용자가 user_id@mydomain.tld (실제로 존재하지 않는 이메일 주소)로 이메일을 보냅니다.
- mydomain.tld에는 inbox@GAEapp.appspotmail.com으로 전달되는 포괄 이메일 주소가 있습니다.
- GAEapp (앱 엔진의 작은 앱)은 이메일을 수신하고 처리 한 다음 관련 항목이 포함 된 게시물 요청을 mydomain.tld로 보냅니다.
따라서 기본적으로 이메일을 잡기 위해 이동하는 것처럼 작동하는 작은 GAE 앱을 만들 수 있습니다. 리디렉션을 사용해도 괜찮을 것입니다. 이메일은 괜찮습니다.
또한 저는 장고를 배우기로 결심했고 기본적으로 당신을 위해 그것을 할 Emailization 이라는 무료 앱을 만들었습니다 . 수신자를 생성하고 ___@emailization.com
POST에 URL을 제공합니다. 해당 주소로 전송 된 모든 항목은 URL에 게시됩니다. 도메인에서 해당 이메일 수신자에게 전달하는 포괄을 만들 수 있으며 포괄을 통해 이메일도 받게됩니다!
또는 내가 만든 작은 GAE 앱을 볼 수 있으며, 동일한 작업을 직접 설정할 수 있습니다.
누군가에게 도움이되기를 바랍니다!
시스템에 설치된 경우 procmail을 사용하십시오. 이메일을 수신하는 사용자의 홈 디렉토리에있는 .procmailrc 파일에이 행을 넣으십시오.
:0
| /path/to/your/script.php
또는 다음을 포함하는 .forward 파일을 사용할 수도 있습니다.
"|/path/to/your/script.php"
Procmail은 애플리케이션에 필요한 경우 더 복잡한 필터링을 처리 할 수 있다는 장점이 있습니다.
script.php 파일은 stdin에서 이메일의 헤더와 본문을 읽습니다.
fMailbox를 확인하십시오 . 비표준 확장 (예 : imap)이 필요하지 않으며 다양한 서버, 첨부 파일, 멀티 파트 메시지, SSL 등으로 테스트되었습니다.
Zend Framework의 Zend_Mail 구성 요소를 사용하는 것이 좋습니다 .
훌륭한 라이브러리가 있습니다 : http://code.google.com/p/php-imap
Php에서 이메일 클라이언트를 구현해야합니다. 이것은 아마도 POP 클라이언트 가 될 것 입니다.
이 코드는 이메일이 포함 된 POP 서버를 쿼리하고 다운로드 한 다음 필요에 따라 구문 분석 할 수 있습니다.
"POP client php"에 대한 빠른 Google 검색을 통해 다양한 옵션을 확인할 수 있습니다. 정말 "The One True PHP POP Library"가 있는지 말하기 어렵습니다. 그렇지 않으면 여기에 포함하겠습니다. 기존 프레임 워크를 사용하는 경우 POP 지원 수준을 확인하고, 그렇지 않으면 위의 Google 결과를 확인하고 선택하십시오. 또는 자신 만의 롤링을하는 것이 가장 쉬울 수도 있습니다 (그리고 가장 교육적인 :).
도메인에 대한 이메일을 수락 한 다음 웹 사이트에 스크립트를 게시하는 호스팅 솔루션이 많이 있습니다. 이들 중 대부분은 사용자를 위해 메시지 구문 분석을 처리합니다 (첨부 파일, "받는 사람" "보낸 사람"및 기타 주소 등 분리).
FORM POST를 수신하고 필요한 모든 작업을 수행하는 스크립트를 작성하기 만하면됩니다.
Mandrill (MailChimp 제공), SendGrid 및 PostMarkApp도 볼 수 있습니다.
이에 대한 훌륭한 튜토리얼이 있습니다.
http://www.evolt.org/incoming_mail_and_php
이메일을 스크립트로 직접 전달하는 방법을 다루며, 스크립트는 stdin (fopen, fread 등)을 통해 읽습니다. 튜토리얼 코드는 헤더 / 본문의 기본 구문 분석도 수행합니다.
Travis Austin이 제안한 대로 호스팅 된 솔루션이 잘 작동합니다.
자체 호스팅 서비스를 찾고 있다면 Mailin 모듈을 통해 이메일 수신, 구문 분석 및 선택한 웹훅에 게시 할 수 있습니다. 또한 dkim 및 spf를 확인하고 스팸 어쌔신 점수를 계산합니다. 메시지 언어를 결정합니다.
node.js로 작성 되었기 때문에 여러분의 필요에 맞는지 모르겠지만, 더 많은 옵션이있을수록 좋습니다. (면책 조항 : 저는 Mailin의 관리자입니다)
POP 또는 IMAP를 통해 이메일을 풀다운하기 위해 다른 서버에 접근하지 않으려면 설정 한 일부 SMTP 서버 (아마도 동일한 PHP 서버)에서 이메일 수신 프로세스에 '후크'를 추가 할 수 있습니다. 그런 다음이 서버에서 대상 이메일을 처리합니다.
다음은 접미사가있는 예이지만 sendmail에서도 비슷한 일이 가능합니다.
http://www.adkap.com/autoresponder.html
'programing' 카테고리의 다른 글
플렉스 랩은 align-self, align-items 및 align-content와 어떻게 작동합니까? (0) | 2021.01.14 |
---|---|
기본 데이터 소스를 업데이트 할 때 DataGridView를 새로 고치는 가장 좋은 방법 (0) | 2021.01.14 |
새로운 Number () 대 Number () (0) | 2021.01.14 |
조건부 빌더 메서드 체인 Fluent 인터페이스 (0) | 2021.01.14 |
LINQ에서 Union All을 사용하는 방법은 무엇입니까? (0) | 2021.01.14 |