Guide
이메일에서 OTP 코드 추출——수신함 건너뛰기
2FA 코드가 올 때마다 수신함으로 전환하지 마세요. nylas otp get은 최근 이메일에서 인증 코드를 스캔하고 1초 이내에 클립보드에 복사합니다. 모든 주요 이메일 프로바이더에서 작동——브라우저 불필요.
Written by Nick Barraclough Product Manager
Reviewed by Qasim Muhammad
이메일에서 OTP 코드를 추출하기 어려운 이유는?
이메일에서 OTP 코드를 추출하기 어려운 이유는, 매 인증마다 30–60초의 컨텍스트 스위칭으로 워크플로가 중단되기 때문입니다—수신함 열기, 메시지 찾기, 스타일링된 템플릿 안의 6자리 코드 찾기, 로그인 프롬프트에 입력, 원래 작업으로 복귀.
통합 테스트나 엔드투엔드 플로우를 실행하는 개발자에게는 문제가 더 심각합니다. 프로그래밍 방식으로 코드를 추출하려면 각 프로바이더별 커스텀 이메일 폴링 로직을 작성해야 합니다—Gmail API, Microsoft Graph, IMAP idle—실제 테스트가 시작되기도 전에. FIDO Alliance Online Authentication Barometer에 따르면, 인증이 느릴 때 사용자는 가입을 자주 포기하며, 취약한 OTP 추출 코드는 불안정한 E2E 테스트 스위트의 주요 원인 중 하나입니다.
Nylas CLI는 하나의 명령어로 두 가지 문제를 모두 해결합니다: nylas otp get 이 Gmail, Outlook, Yahoo, iCloud 및 모든 IMAP 서버의 최근 메시지를 스캔하고, 코드를 추출하여 1초 이내에 클립보드에 복사합니다.
1. 설치
Nylas CLI 설치는 Homebrew 명령어 하나로 대부분의 머신에서 30초 이내에 완료됩니다. CLI 바이너리는 약 25MB이며 macOS, Linux, Windows를 지원합니다. Homebrew는 macOS와 Linux 사용자에게 가장 빠른 경로입니다.
brew install nylas/nylas-cli/nylas셸 스크립트, PowerShell, Go 설치 경로는 시작하기 가이드를 참조하세요. 설치 후 버전을 확인하여 CLI가 사용 가능한지 확인합니다:
nylas --version2. 인증
인증은 Nylas CLI를 이메일 계정에 연결하여 OTP 코드의 메시지 스캔을 가능하게 합니다. CLI는 6가지 프로바이더 유형을 지원합니다—Gmail, Outlook, Exchange(EWS), Yahoo Mail, iCloud Mail, 일반 IMAP—모두 하나의 인증 단계로. 프로바이더별 설정이 필요 없습니다.
Nylas Dashboard에서 API 키를 생성한 후 CLI에 전달합니다. 자격 증명은 ~/.config/nylas/ 에 로컬로 저장되며 제3자에게 전송되지 않습니다.
nylas auth config --api-key YOUR_API_KEY3. 최신 OTP 코드 가져오기
nylas otp get 명령어는 최근 이메일을 스캔하고, 가장 최근의 인증 코드를 추출하여 클립보드에 복사합니다—보통 1초 이내에 완료. 대부분의 이메일 기반 OTP 코드는 6자리이며 RFC 6238(TOTP)에 정의된 대로 5–10분 이내에 만료됩니다.
인수 없이 명령어를 실행하면 기본 계정에서 최신 코드를 가져옵니다. CLI는 최근 메시지에서 일반적인 OTP 패턴(인증 이메일에 포함된 숫자 코드)을 검색하여 일치하는 결과를 반환합니다.
nylas otp get✓ OTP found
Code: 847291
From: noreply@github.com
Subject: Your GitHub verification code
Copied to clipboard스크립팅과 CI/CD 파이프라인—클립보드 부작용이 필요 없는 경우—에서는 --raw 플래그로 코드만 출력합니다. 셸 변수에 값을 캡처하기 쉽습니다.
nylas otp get --raw847291클립보드에 복사하지 않고 터미널 출력에 코드를 표시하려면 --no-copy 플래그를 사용합니다. 화면에서 코드를 읽고 수동으로 입력하고 싶을 때 유용합니다.
nylas otp get --no-copy4. 수신 OTP 코드 모니터링
nylas otp watch 명령어는 수신함을 지속적으로 폴링하고 새로운 OTP 코드가 도착할 때마다 출력합니다. 인증 이메일을 보내는 작업을 트리거한 후 코드가 정확히 언제 도착할지 모르는 상태에서 캡처해야 할 때 유용합니다. 기본 폴링 간격은 5초이며, 대부분의 코드는 수신 후 5–10초 이내에 나타납니다.
인수 없이 명령어를 실행하여 모니터링을 시작합니다. CLI는 Ctrl+C를 누를 때까지 계속 폴링합니다. 각 코드는 타임스탬프와 발신자 주소와 함께 표시됩니다.
nylas otp watchWatching for OTP codes... (Ctrl+C to stop)
[14:23:05] 847291 — noreply@github.com
[14:31:18] 193047 — security@google.com--interval 플래그로 폴링 빈도를 초 단위로 설정합니다. 더 짧은 간격은 코드를 더 빨리 잡지만 더 많은 API 요청을 보냅니다. 대부분의 경우 5–10초가 속도와 효율의 균형을 맞춥니다.
nylas otp watch --interval 5원격 SSH 세션이나 Docker 컨테이너처럼 클립보드에 접근할 수 없는 터미널에서 실행할 때는 --no-copy 와 커스텀 간격을 결합하세요.
nylas otp watch --no-copy --interval 105. 설정된 계정 목록 조회
nylas otp list 명령어는 Nylas CLI에 연결된 모든 이메일 계정과 프로바이더 유형을 보여줍니다. 여러 계정을 사용하는 개발자—예를 들어 개인 Gmail과 기업 Outlook 테넌트—는 코드를 가져오기 전에 어떤 계정이 사용 가능한지 확인할 수 있습니다. CLI는 하나의 설정에서 최대 6가지 프로바이더 유형을 지원합니다.
출력의 각 행은 이메일 주소를 감지된 프로바이더에 매핑합니다. nylas otp get 호출 시 어떤 계정을 타겟으로 할지 쉽게 식별할 수 있습니다.
nylas otp list ACCOUNT PROVIDER
user@gmail.com Gmail
work@company.com Outlook
personal@icloud.com iCloud기본 계정 대신 특정 계정에서 코드를 가져오려면 이메일 주소를 인수로 전달합니다. 여러 계정에 최근 OTP 이메일이 있을 때 모호함을 방지합니다.
nylas otp get user@gmail.com6. 스크립트에서 OTP 코드 사용
--raw 플래그는 nylas otp get 을 셸 스크립트, CI/CD 파이프라인, 엔드투엔드 테스트 프레임워크를 위한 조합형 빌딩 블록으로 만들어줍니다. 포맷 없이 순수 코드만 출력하므로, 표준 명령어 치환으로 직접 변수에 캡처할 수 있습니다.
아래 스크립트는 전체 OTP 인증 플로우를 보여줍니다: API 호출로 비밀번호 재설정 이메일을 트리거하고, 수신을 3초 대기한 후, 코드를 추출하고 제출합니다. 프로덕션 CI 환경에서 이 패턴은 20–50줄의 커스텀 프로바이더별 폴링 로직을 대체합니다.
#!/usr/bin/env bash
set -euo pipefail
EMAIL="user@example.com"
API_BASE="https://app.example.com/api"
# OTP 이메일 트리거
curl -s -X POST "$API_BASE/auth/send-otp" \
-H "Content-Type: application/json" \
-d "{"email": "$EMAIL"}"
# 수신 대기 후 코드 가져오기
sleep 3
CODE=$(nylas otp get --raw)
echo "Got code: $CODE"
# 코드 제출
curl -s -X POST "$API_BASE/auth/verify-otp" \
-H "Content-Type: application/json" \
-d "{"email": "$EMAIL", "code": "$CODE"}"
echo "Verified."GitHub Actions 같은 CI/CD 환경에서는 Nylas API 키를 리포지토리 시크릿으로 저장합니다. 아래 예시는 2단계 워크플로를 보여줍니다: 첫 번째 단계에서 인증을 설정하고, 두 번째 단계에서 OTP 테스트 스크립트를 실행합니다. 이 접근 방식은 자격 증명을 소스 코드 관리에서 완전히 분리합니다.
# GitHub Actions 예시
- name: Authenticate Nylas CLI
run: nylas auth config --api-key ${{ secrets.NYLAS_API_KEY }}
- name: Run OTP flow test
run: ./scripts/test-otp-flow.shCLI는 NYLAS_API_KEY 환경 변수를 자동으로 읽으므로, 임시 CI 환경에서는 nylas auth config 단계를 건너뛸 수 있습니다. 작업 간 파일 시스템이 유지되지 않는 컨테이너와 serverless 러너에 권장되는 접근 방식입니다.
# 환경 변수 설정 — CLI가 자동으로 인식
export NYLAS_API_KEY=your_key
CODE=$(nylas otp get --raw)다음 단계
- Playwright를 이용한 E2E 이메일 테스트 — OTP 추출과 전체 엔드투엔드 테스트 플로우를 결합
- AI 에이전트의 ID로서의 이메일 — 이메일 기반 인증으로 AI 워크플로를 인증
- CI/CD에서 PowerShell 이메일 — 이메일 의존 파이프라인을 위한 Windows 네이티브 자동화
- Nylas CLI 시작하기 — 5분 이내에 첫 번째 계정 연결
- 명령어 레퍼런스 — 모든 플래그, 서브커맨드, 예시
- RFC 6238 -- TOTP: Time-Based One-Time Password — 이메일에서 추출하는 시간 윈도우 코드의 사양