현재 상태에서 바로 이메일 발송을 테스트할 수 있는 가장 빠른 방법입니다.
도메인 인증 없이 바로 테스트할 수 있습니다.
https://app.sendgrid.com 로그인
Sender Authentication 메뉴
Settings → Sender Authentication
Single Sender 인증 시작
"Create New Sender" 버튼 클릭
발신자 정보 입력 ``` 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 ```
Create 클릭
인증 이메일 확인
admin@rankly.kr 이메일함 확인 (다음 스마트워크)"Verify Single Sender" 링크 클릭
✅ 인증 완료!
.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만 사용 가능
cd mysite
python test_sendgrid_email.py
입력:
테스트 이메일 주소를 입력하세요: admin@rankly.kr
admin@rankly.kr 이메일함에서 3개 이메일 확인:
- ✉️ [Rankly] SendGrid 테스트
- ✉️ [Rankly] 이메일 인증 코드 (OTP 포함)
- ✉️ [Rankly] Reply-To 테스트
프로덕션 환경에서 사용할 완전한 설정입니다.
rankly.kr 도메인 인증 시작상세 가이드: SENDGRID_SETUP_RANKLY.md 참고
1. https://app.sendgrid.com 로그인
2. Settings → Sender Authentication
3. Verify a Single Sender → Create New Sender
4. admin@rankly.kr 입력 및 인증 메일 클릭
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
cd mysite
python test_sendgrid_email.py
✅ 기본 이메일: 성공
✅ OTP 이메일: 성공
✅ Reply-To 헤더: 성공
총 3개 테스트 중 3개 성공
💡 OTP 코드: 123456
이 코드로 회원가입을 테스트할 수 있습니다.
→ 이메일함에 3개 메일 도착 → OTP 코드로 회원가입 API 테스트 가능
❌ 발송 실패: Authentication failed
해결방법:
1. API 키 확인: .live1.env의 SENDGRID_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()
SENDGRID_SETUP_RANKLY.md 참고SENDGRID_TEST_GUIDE.md 참고API_DOCUMENTATION.md 참고준비 완료! 이제 python test_sendgrid_email.py를 실행하세요! 🚀