1. amazon aws ses sdk 중 php용을 다운 받는다.
1.1 amazon에서 download (
http://aws.amazon.com/ko/sdkforphp/)
- AWS PHP SDK 다운로드라는 버튼 클릭
참고) github보단 amazon에서 받는 것을 권장 (어차피 똑같은 파일이라는거~)
1.2 github에서 download (
https://github.com/amazonwebservices/aws-sdk-for-php)
- 상단에 구름모양에 ZIP이라고 써있는 버튼 클릭
2. pear에서 Mail_Mime 다운 받는다.
-
http://pear.php.net/package/Mail_Mime/download
참고) 본인은 1.8.6 버전을 받았다.
참고) .tgz 파일로 다운받아지는데 이 확장자는 알집으로 풀지못한다.
7-Zip이나 반디집으로 풀것!
3. 개발환경 구축
- 1, 2에서 받은 파일을 압축을 풀어 확인해보면
3.1 amazon aws ses sdk
- amazon aws ses sdk 중에서 utilities, authentication, lib 폴더가 있는데
이 세 폴더를 싸그리다 개발할 폴더에 담는다.
- 그리고 config-sample.inc.php, sdk.class.php도 포함한다.
- 마지막으로 services폴더안에 있는 ses.class.php도 포함.
3.2 Pear의 Mail_Mime에서는 Mail이라는 폴더를 통째로 개발할 폴더에 담는다.
참고) 이런식으로…여기서 test.php는 내가 작성한 파일 / test.txt는 첨부할 파일이다.
4. config.inc.php 수정
CFCredentials::set(array( 'development' => array( 'key' => 'key값 입력', 'secret' => 'secret key값 입력', 'default_cache_config' => 'apc', 'certificate_authority' => false ), '@default' => 'development' ));
- config.inc.php는 3-1에서 말한 config-sample.inc.php를 수정한 파일이다.
- 수정은 다음과 같이 하면 된다.
include_once('Mail/mime.php'); include_once('sdk.class.php'); include_once('ses.class.php'); $mail_mime = new Mail_mime(array('eol' => "\n")); $mail_mime->setTxtBody("test\n"); $mail_mime->setHTMLBody("
test
"); $mail_mime->addAttachment("test.txt"); $body = $mail_mime->get(); $headers = $mail_mime->txtHeaders(array('From' => 'test@naver.com', 'Subject' => "test subject")); $message = $headers . "\r\n" . $body; $ses = new AmazonSES(); $r = $ses->send_raw_email(array('Data' => base64_encode($message)), array('Destinations' => 'o1032002241@gmail.com')); if ($r->isOK()) { print("Mail sent; message id is " . (string) $r->body->SendRawEmailResult->MessageId . "\n"); } else { print("Mail not sent; error is " . (string) $r->body->Error->Message . "\n"); }
- key에다가 key값 입력 / secret에다가 scecret값 입력
- default_cache_config에는 무슨값을 넣어야하는 사실 잘모르겠으나
https://gist.github.com/1478912 < 참고하면 apc값이 기본값인것 같다.
5. test.php 추가
- 여러번의 삽질로 폭팔직전이라 파일이름 구리다.
본인이 원하는 이름으로 설정할것 (여기선 임의로 test.php라고 하겠다)
- 다음과 같이 하면 된다.
(소스코드에 대한 자세한 내용은 참고사이트라고 적어넣은 링크들 중에 소스코드 설명이라는 URL에 들어가면된다.)
6. 실행
- 이틀 삽질하고 정리한 결과 이대로라면 아마 실행될것이다.
참고) 받는 메일은 yahoo.com가 빨리 온다고 하지만 첨부파일 다운이 안된다. (보안때문에)
* 참고사이트 :
- 소스코드 설명
http://aws.typepad.com/aws/2011/07/amazon-simple-email-service-now-supports-attachments.html
- Pear mail_mime 메뉴얼
http://pear.php.net/package/Mail_Mime/docs/latest/Mail_Mime/Mail_mime.html
- Amazon AWS SDK SES 메뉴얼
http://docs.amazonwebservices.com/AWSSDKforPHP/latest/index.html#i=AmazonSES