← 홈으로 돌아가기

🚀 SendGrid 빠른 시작 가이드 - Rankly

지금 바로 테스트하기 (5분 소요)

현재 상태에서 바로 이메일 발송을 테스트할 수 있는 가장 빠른 방법입니다.


🎯 Option 1: Single Sender로 즉시 테스트 (추천)

도메인 인증 없이 바로 테스트할 수 있습니다.

Step 1: SendGrid Single Sender 인증 (2분)

  1. SendGrid 콘솔 접속
  2. https://app.sendgrid.com 로그인

  3. Sender Authentication 메뉴

  4. Settings → Sender Authentication

  5. Single Sender 인증 시작

  6. "Verify a Single Sender" 섹션 찾기
  7. "Create New Sender" 버튼 클릭

  8. 발신자 정보 입력 ``` From Name: Rankly From Email Address: admin@rankly.kr Reply To: admin@rankly.kr

Company/Organization: Rankly Address Line 1: (회사 주소) City: Seoul State: Seoul Zip Code: 12345 Country: South Korea ```

  1. Create 클릭

  2. 인증 이메일 확인

  3. admin@rankly.kr 이메일함 확인 (다음 스마트워크)
  4. SendGrid에서 온 인증 메일 열기
  5. "Verify Single Sender" 링크 클릭

  6. ✅ 인증 완료!

Step 2: 환경변수 임시 설정 (30초)

.live1.env 파일 수정:

SENDGRID_API_KEY=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
DEFAULT_FROM_EMAIL=admin@rankly.kr
REPLY_TO_EMAIL=admin@rankly.kr

주의: Single Sender는 admin@rankly.kr만 사용 가능

Step 3: 테스트 실행 (2분)

cd mysite
python test_sendgrid_email.py

입력:

테스트 이메일 주소를 입력하세요: admin@rankly.kr

Step 4: 이메일 확인

admin@rankly.kr 이메일함에서 3개 이메일 확인: - ✉️ [Rankly] SendGrid 테스트 - ✉️ [Rankly] 이메일 인증 코드 (OTP 포함) - ✉️ [Rankly] Reply-To 테스트


🎯 Option 2: 도메인 인증으로 완전 설정 (30분 소요)

프로덕션 환경에서 사용할 완전한 설정입니다.

요약

  1. SendGrid에서 rankly.kr 도메인 인증 시작
  2. 가비아 DNS에 CNAME 레코드 3개 추가
  3. DNS 전파 대기 (10분~1시간)
  4. SendGrid에서 Verify 완료
  5. 테스트 실행

상세 가이드: SENDGRID_SETUP_RANKLY.md 참고


✅ 지금 당장 해야 할 일

1️⃣ SendGrid Single Sender 인증 (즉시)

1. https://app.sendgrid.com 로그인
2. Settings → Sender Authentication
3. Verify a Single Sender → Create New Sender
4. admin@rankly.kr 입력 및 인증 메일 클릭

2️⃣ 환경변수 설정 확인

cat .live1.env | grep EMAIL

현재 설정:

DEFAULT_FROM_EMAIL=noreply@rankly.kr
REPLY_TO_EMAIL=admin@rankly.kr

임시 설정 (Single Sender 테스트용):

DEFAULT_FROM_EMAIL=admin@rankly.kr
REPLY_TO_EMAIL=admin@rankly.kr

3️⃣ 테스트 실행

cd mysite
python test_sendgrid_email.py

📊 예상 결과

성공 시

✅ 기본 이메일: 성공
✅ OTP 이메일: 성공
✅ Reply-To 헤더: 성공

총 3개 테스트 중 3개 성공

💡 OTP 코드: 123456
   이 코드로 회원가입을 테스트할 수 있습니다.

→ 이메일함에 3개 메일 도착 → OTP 코드로 회원가입 API 테스트 가능

실패 시

❌ 발송 실패: Authentication failed

해결방법: 1. API 키 확인: .live1.envSENDGRID_API_KEY 2. SendGrid 계정 상태 확인 3. Single Sender 인증 완료 확인


🔄 다음 단계 (선택사항)

도메인 인증으로 전환

Single Sender로 테스트 완료 후, 프로덕션에서는 도메인 인증 권장:

장점: - noreply@rankly.kr, support@rankly.kr 등 모든 주소 사용 가능 - 도메인 신뢰도 향상 (스팸 방지) - 전문적인 이메일 발송

과정: 1. SENDGRID_SETUP_RANKLY.md 파일 참고 2. 가비아 DNS에 CNAME 3개 추가 3. 1시간 대기 후 Verify


💡 팁

개발 환경에서는 콘솔로 출력

실제 이메일 발송 없이 터미널에서만 확인:

# settings.py에 추가
if os.environ.get('SERVICE_TYPE') == 'dev':
    EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

이메일 템플릿 개선

HTML 버전 이메일로 업그레이드:

from django.core.mail import EmailMultiAlternatives

html_content = """
<html>
<body style="font-family: Arial, sans-serif;">
    <h2>Rankly 이메일 인증</h2>
    <p>인증 코드: <strong style="font-size: 24px;">{otp}</strong></p>
</body>
</html>
"""

msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
msg.attach_alternative(html_content, "text/html")
msg.send()

📞 도움이 필요하면

  1. SendGrid 설정 문제: SENDGRID_SETUP_RANKLY.md 참고
  2. 테스트 가이드: SENDGRID_TEST_GUIDE.md 참고
  3. API 문서: API_DOCUMENTATION.md 참고

준비 완료! 이제 python test_sendgrid_email.py를 실행하세요! 🚀