1. 현재(2026) 기준 빠른 가이드

클라우드 SMS 서비스 비교

서비스 특징 가격 권장 용도
AWS SNS AWS 생태계 통합, 글로벌 건당 $0.00645 (한국) AWS 인프라 사용 중
Twilio 글로벌 1위, API 우수 건당 $0.0595 (한국) 글로벌 서비스
CoolSMS 한국 특화, 간단 건당 약 20원 국내 전용, 테스트
Naver Cloud SMS 네이버 클라우드 통합 건당 9원~ 네이버 클라우드 사용 중

AWS SNS 예시 (Spring Boot)

<dependency>
  <groupId>software.amazon.awssdk</groupId>
  <artifactId>sns</artifactId>
  <version>2.20.0</version>
</dependency>
@Service
public class SmsService {
  private final SnsClient snsClient;

  public SmsService(SnsClient snsClient) {
    this.snsClient = snsClient;
  }

  public void sendVerificationCode(String phoneNumber, String code) {
    PublishRequest request = PublishRequest.builder()
      .phoneNumber(phoneNumber)
      .message("인증번호는 [" + code + "] 입니다.")
      .build();
    snsClient.publish(request);
  }
}

2. 2017 기준 구현 흐름 (CoolSMS)

spring(java)로 SMS(문자)보내기, 휴대폰인증

1. https://www.coolsms.co.kr/ 에서 회원가입을 한다. 300포인트 를 주는데.. 문자 1개당 20원이므로 15건 정도 보낼수 있다. 즉 테스트용으로 충분하다. 필요하다면 5천원 충전해서 쓰길 바랍니다.

2. 그리고 coolsms 에 개발자센터(https://www.coolsms.co.kr/developer)에 들어가서 API를 다운받는다.

3. Https.java와 Coolsms.java는 메시지보내기 관련 클래스이므로 util이나 기타 폴더에 넣는다. 그리고 사이트에 https://www.coolsms.co.kr/frontpage​에 들어가 문자메시지 -> 환경설정 ->APIKey 관리에서 key와 secret키를 생성한다.

4. 휴대폰인증 관련 메서드를 짠다.

// JAVA SDK 2.1 버전(구버전) 기준
@ResponseBody
@RequestMapping(value = "/sendSMS", method = RequestMethod.POST)
public String sendSMS(String userPhoneNumber) throws Exception { // 휴대폰 문자보내기

	String api_key = "개인용 키";
	String api_secret = "개인용 시크릿키";
	Coolsms coolsms = new Coolsms(api_key, api_secret); // 메시지보내기 객체 생성
	String key = new TempKey().getNumKey(6); // 인증키 생성
	userService.insertAuthCode(userPhoneNumber, key); // 휴대폰 인증 관련 서비스
	/*
	 * Parameters 관련정보 : http://www.coolsms.co.kr/SDK_Java_API_Reference_ko#toc-0
	 */
	HashMap<String, String> set = new HashMap<String, String>();
	set.put("to", userPhoneNumber); // 수신번호
	set.put("from", "01012345678"); // 발신번호
	set.put("text", "안녕하세요 홍길동입니다. 인증번호는 [" + key + "] 입니다."); // 문자내용
	set.put("type", "sms"); // 문자 타입

	JSONObject result = coolsms.send(set); // 보내기&전송결과받기
	if ((boolean) result.get("status") == true) {
		// 메시지 보내기 성공 및 전송결과 출력
		System.out.println("성공");
		System.out.println(result.get("group_id")); // 그룹아이디
		System.out.println(result.get("result_code")); // 결과코드
		System.out.println(result.get("result_message")); // 결과 메시지
		System.out.println(result.get("success_count")); // 메시지아이디
		System.out.println(result.get("error_count")); // 여러개 보낼시 오류난 메시지 수
		return "success";
	} else {
		// 메시지 보내기 실패
		System.out.println("실패");
		System.out.println(result.get("code")); // REST API 에러코드
		System.out.println(result.get("message")); // 에러메시지
		return "fail";
	}
}

5. 기타 사항은 관련 API(https://www.coolsms.co.kr/SDK_Java_API_Reference_ko)를 참조하시면 됩니다.

관련 글

참조 사이트

chanhee.kim's profile image

chanhee.kim

2017-12-08 14:45

Read more posts by this author