terse
, Skype Call이라고 말하자. 그녀는 고객이 울려 퍼져 회사로부터 이상한 이메일을 받고있는 이유를 물었을 때 오히려 짜증이납니다. 그녀는 행복하지 않고 대답을 원하십니까?- 거기 있었나요? 다시 거기에 있고 싶지 않습니까? 나는 당신이 그렇지 않은 것 같습니다. 해결책은 다음과 같습니다. MailCatcher. 익숙하지 않은 경우 MailCatcher
좋은 솔루션처럼 들리나요? 피곤하든 압력을 받거나 팀의 새로운 또는 테스트를 실행해야하더라도 MailCatcher는 네트워크 밖이나 개발 가상 머신 밖에서 전자 메일이 전송되지 않도록합니다. 이 게시물에서는 이메일을 캡처했을 때이를 설정하고 인터페이스를 실행하는 방법을 보여 드리겠습니다. 미리 준비된 가상 머신 MailCatcher를 설정하는 데 많은 어려움을 겪기 위해, 나는 당신을 위해 모든 것을하는 맞춤형 Vagrant 상자를 만들었습니다. VirtualBox와 Vagrant가 설치되어 있는지 확인한 다음 다음 명령을 사용하여 기사 저장소 사본을 복제하십시오. 그런 다음 복제 된 프로젝트 디렉토리에서 다음 명령을 실행합니다.
이것은 가상 머신 프로비저닝 프로세스를 시작하여 프로비저닝 프로세스가 실행될 때 많은 출력을 표시합니다. 구성된 가상 머신은 상당히 미니멀리스트입니다. mailcatcher ,
sendmail 및 nginx 가 설치되어 있습니다.nginx에는 간단한 vhost 설정이있어 프로젝트 디렉토리를 가상 컴퓨터에서/var/www/에 매핑합니다. 프로비저닝 중에 무슨 일이 일어나는지 정확히 알고 싶으시면 Checkout Provision.sh. 수동으로 MailCatcher를 설치합니다 MailCatcher를 직접 설치하려면 가상 머신 (또는 Linux 시스템)이 있으면 다음은 다음과 같습니다. 세 번째 명령을 실행할 필요가 없거나 필요하지 않을 수도 있습니다. 매우 미니멀리스트 우분투 정확한 64 Vagrant 이미지를 사용하면서 MailCatcher를 구축하려면 패키지가 필요합니다. 다른 Linux 배포 또는 버전을 사용하는 경우 개별 패키지 이름이 다를 수 있습니다. <span>git clone git@github.com:sitepoint-examples/mailcatcher-article.git</span>
.참고 : 표준 MailCatcher 스타트 업 프로세스를 따르면 IP 127.0.0.1 및 포트 1025에서만 듣습니다.이 설정을 사용하면 호스트 시스템에서 볼 수 없습니다. 따라서 가상 머신 192.168.56.111에 공개 IP를 추가하고 모든 IP를 듣도록 MailCatcher의 구성을 변경했습니다. MailCatcher 웹 UI 이제 http://192.168.56.111:1080에서 MailCatcher Web UI를 볼 수 있습니다. 아래 이미지처럼 보일 것입니다 : vagrant up
이것은 매우 간단한 인터페이스로, 가능한 경우 MailCatcher 대기열의 이메일을 상단에 나열합니다. 목록에 이메일이 있으면 바닥 창은 나중에 볼 수있는 정보를 잘 보여줍니다. 나중에 볼 수 있습니다. 샘플 코드 이 기사에서는 프로젝트 저장소에서 사용할 수있는 간단한 PHP 스크립트 인 index.php를 만들었으며 http://192.168.56.111에서 액세스 할 수 있습니다. SwiftMailer를 사용하여 MailCatcher에 연결하고로드에 이메일을 보냅니다. 상당히 표준 HTML 페이지 아래 코드에서 볼 수 있습니다.
아래에는 Mail-Loader.php가 포함되어 있습니다
Sitepoint에있는 Swiftmailer Aurelio의 기사에 익숙하지 않은 경우 훌륭한 소개를 제공합니다. 또한이 예제에 사용한 것은 그의 코드입니다. 감사합니다 Aurelio. <span>git clone git@github.com:sitepoint-examples/mailcatcher-article.git</span>
기본적으로, 우리가 주목하는 데 중요한 줄만 있습니다. vagrant up
는 첫 번째 항목을 클릭했습니다.이 항목은 이메일 본문뿐만 아니라 수신 된,부터 및 주제 세부 사항을 보여줍니다. 아래 이미지에서와 같이 소스 탭으로 전환하면 원시 이메일 세부 정보를 볼 수 있습니다. 세 번째 탭을 통해 Fractal을 사용하여 이메일의 내용을 분석 할 수 있습니다. 이 기사의 범위를 벗어나면서 오늘 건너 뛸 것입니다. 우리는 모두 <span>sudo apt-get install -y vim curl python-software-properties lynx nginx </span><span>sudo apt-get install -y php5-fpm php5-memcache memcached php-apc </span><span>sudo apt-get install -y build-essential libsqlite3-dev ruby1.9.3 </span><span>sudo gem install mailcatcher </span><span>sudo mailcatcher --http-ip 0.0.0.0</span>
코드가 작동하는지 확인하기 위해 테스트를 작성할 수 있습니다. 메일 전송 워크 플로우, 메시지 내용, 수신자, 헤더 등을 확인할 수 있습니다. 실제로 환경 밖에서 아무것도 보내지 않고 실용적입니다. 이제 우리는 고객 (및 고객)이 결코 의도하지 않은 이메일을받지 못할 것이라고 확신 할 수 있습니다. 이 얼마나 안도. 포장 이제, 이것은 다소 사소한 예입니다.이 예제는 예제에 간단한 Swiftmailer 코드 스 니펫을 사용하는 것입니다. 코드베이스 가이 예보다 훨씬 복잡하고 정교하다고 확신합니다. 그러나 응용 프로그램에서 디버그 및 테스트 구성을 사용할 수있어 호스트와 포트를 설정하여 라이브와 차별화 할 수 있습니다. 그렇게함으로써 다른 코드는 아무도 바뀌지 않아도되며 Mailcatcher가 가져 오는 마음의 평화의 이점을 얻을 수 있습니다.