false, // 광고메일여부 default: false "attachFileIds" => array(), // 첨부파일ID "body" => "", // Email 본문 "individual" => false, // 개인발송여부 (개인발송 시 참조인, 숨은참조 무시됨) default: true "parameters" => array( "maestro_name" => $maestro_name, "register_date" => $register_date, ), // 치환 파라미터 (수신자별로 적용), ‘치환 ID’ 를 key로, ‘치환 ID에 맵핑되는 값’ 을 value로 가지는 Map 형태의 Object "recipients" => array( array( "address" => $maestro_email, // 수신자 Email 주소 "name" => "", // 수신자 명 "type" => "R", // 수신자 유형 (R: 수신자, C: 참조인, B: 숨은참조) default: R // "parameters" => array_map(), // 치환 파라미터 (수신자별로 적용), ‘치환 ID’ 를 key로, ‘치환 ID에 맵핑되는 값’ 을 value로 가지는 Map 형태의 Object "parameters" => array( "maestro_name" => $maestro_name, ), // 치환 파라미터 (수신자별로 적용), ‘치환 ID’ 를 key로, ‘치환 ID에 맵핑되는 값’ 을 value로 가지는 Map 형태의 Object ), ), "referencesHeader" => "", // 특정 메일을 모아서 보기 위해 네이버 메일에서 지원하는 기능, 해당 필드에 동일한 값을 입력한 메일들을 모아서 볼 수 있다. (다음의 형태가 되어야 함 : ) "reservationUtc" => "", // 예약 발송 일시 ( 1970년 1월 1일 00:00:00 협정 세계시(UTC) 부터의 경과 시간을 1/1000초로 환산한 정수 ), reservationDateTime 값보다 이 값이 우선 적용된다. "reservationDateTime" => "", // 다음과 같은 형태의 예약 발송 일시 (‘yyyy-MM-dd HH:mm’ UTC+09:00), reservationUtc 값이 우선한다. "senderAddress" => "support+chocomae@jinaju.com", // 발송자 Email 주소 "senderName" => "초코마에", // 발송자 이름 "tempRequestId" => "", // 첨부파일 등록 시 사용한 임시 요청 ID "templateSid" => "337", // 템플릿 ID "title" => "", // Mail 제목 ); $postParam = json_encode($postParam); echo "json:\n"; echo $postParam; echo "\n"; $is_post = true; $success_code = 201; } else { $success_code = 200; $requestUrl = $requestUrl."/requests/".$requestId."/status"; } $signautue = makeSignature($secretKey, $method, $requestUrl, $timestamp, $accessKey); $url = $hostNameUrl.$requestUrl; echo $url."\n"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, $is_post); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); if($method == "POST") { curl_setopt($ch, CURLOPT_POSTFIELDS, $postParam); } $headers = array(); $headers[] = "X-NCP-APIGW-TIMESTAMP: " .$timestamp; $headers[] = "X-NCP-IAM-ACCESS-KEY: " .$accessKey; $headers[] = "X-NCP-APIGW-SIGNATURE-V2: " .$signautue; $headers[] = "content-type: application/json"; curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $response = curl_exec ($ch); $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); echo "status_code:".$status_code."\n"; curl_close ($ch); if($status_code == 200) { echo $response."\n"; } else { echo "Error 내용:".$response."\n"; } } catch(Exception $E) { echo "Response: ". $E->lastResponse . "\n"; } function makeSignature($secretKey, $method, $uri, $timestamp, $accessKey) { $space = " "; $newLine = "\n"; $hmac = $method.$space.$uri.$newLine.$timestamp.$newLine.$accessKey; $signautue = base64_encode(hash_hmac('sha256', $hmac, $secretKey,true)); echo "this is signiture : ".$signautue."\n"; return $signautue; } ?>