인프런 커뮤니티 질문&답변

kwonjiwoo님의 프로필 이미지

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

회원 가입 환영 이메일 보내기

sendgrid 메일 발송이 안됩니다 ㅠㅠ

23.11.05 23:43 작성

·

550

0

7개월 전에 이 기능을 구현을 했고, python shell 로 메일보내서 1 확인 후 메일 확인, 실제로 회원가입 후 메일 발송되는 것까지 확인을 했습니다.

sendgrid 회원가입은 구글 계정으로, sender 계정 이메일은 naver 이메일로 하였었구요. send_grid_api_key 값은 잘 지정해주었습니다 ㅜㅜ 아직도 python shell 에서 메일을 보내보면 1이 잘 뜨는데 메일이 발송되지 않습니다.. 스팸메일함 전체메일함 다 확인했는데도 안되네요 ㅜㅜㅜㅜ

혹시 몰라서 sender authentication 부분 첨부합니다 ㅜㅜ

class User(AbstractUser):
    class GenderChoices(models.TextChoices):
        MALE = "M", "남성" #전자는 DB에 저장되는 값, 후자는 실제 보여지는 값
        FEMALE = "F", "여성"

    sns_url = models.URLField(blank=True)
    bio = models.TextField(blank=True)
    phone_number = models.CharField(max_length=13, blank=True,
                                    validators=[RegexValidator(r"^010-?[1-9]\d{3}-?{4}$")])
    gender = models.CharField(max_length=1, blank=True, choices=GenderChoices.choices)
    avatar = models.ImageField(blank=True, upload_to="accounts/avatar/ $Y/%m/%d")

    def send_welcome_email(self):
        subject = render_to_string("accounts/welcome_email_subject.txt", {
            "user": self,
        })
        content = render_to_string("accounts/welcome_email_content.txt", {
            "user": self,
        })
        sender_email = settings.WELCOME_EMAIL_SENDER
        send_mail(subject, content, sender_email, [self.email], fail_silently=False)

# SEND GRID 설정
SENDGRID_API_KEY = os.environ.get("SENDGRID_API_KEY")
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'apikey'
EMAIL_HOST_PASSWORD = SENDGRID_API_KEY
EMAIL_PORT = 587
EMAIL_USE_TLS = True
WELCOME_EMAIL_SENDER = "신상정보라가렸습니다!!@naver.com"

각각 models.pycommon.py 입니다 ㅜㅜ

 

답변 3

0

kwonjiwoo님의 프로필 이미지
kwonjiwoo
질문자

2023. 11. 06. 08:05

ADMINS = [
    ('제 이름', '아이디@naver.com')
]

...

# SEND GRID 설정
SENDGRID_API_KEY = os.environ.get("SENDGRID_API_KEY")
EMAIL_HOST = 'smtp.naver.com'
EMAIL_HOST_USER = '네이버아이디'
EMAIL_HOST_PASSWORD = '네이버비밀번호'
EMAIL_PORT = 465
EMAIL_USE_TLS = True
WELCOME_EMAIL_SENDER = "아이디@naver.com"
    def send_welcome_email(self):
        subject = render_to_string("accounts/welcome_email_subject.txt", {
            "user": self,
        })
        content = render_to_string("accounts/welcome_email_content.txt", {
            "user": self,
        })
        sender_email = settings.WELCOME_EMAIL_SENDER
        send_mail(subject, content, sender_email, [self.email], fail_silently=False)

이렇게 햇는데 계속

이와 같은 오류가 뜹니다 !! ㅠㅠㅠㅠ

제가 맞게 설정한 건가요? 감사합니다 .. ㅠ

이진석님의 프로필 이미지
이진석
지식공유자

2023. 11. 06. 08:12

안녕하세요. 아래 답변에도 썼지만

네이버 smtp 메일에서는 EMAIL_USE_TLS =True 설정은 지우시고, EMAIL_USE_SSL = True 설정으로 해주세요.

저도 EMAIL_USE_TLS = True 설정으로 해보니, kwonjiwoo 님과 동일한 오류가 발생하네요. EMAIL_USE_SSL = True 설정으로 바꾸시면 해결이 되실 듯 합니다.

화이팅입니다. :-)

kwonjiwoo님의 프로필 이미지
kwonjiwoo
질문자

2023. 11. 06. 08:43

정말 감사드립니다 !! ㅠㅠ

0

kwonjiwoo님의 프로필 이미지
kwonjiwoo
질문자

2023. 11. 06. 07:33

+) 그리고 EMAIL_HOST_PASSWORD 를 네이버 계정 패스워드로 해야 하나요?

그럼 여기서는 sendgrid api key 를 사용하지 않는 것인지 궁금합니다..

그리고 SEMAIL_USE_TLS 대신 EMAIL_USE_SSL 설정을 해주어야 하는 건가요..

계속 연결이 안되는 오류가 뜨는데 왜이러는지 모르겠네요 ㅠㅠ

 

이진석님의 프로필 이미지
이진석
지식공유자

2023. 11. 06. 08:08

네이버 smtp 에서는 use tls 설정 대신에 use ssl 설정만 해주시면 됩니다.

제가 방금 테스트해본 settings 입니다. EMAIL_HOST_PASSWORD 에는 네이버 암호를 지정하시면 되는 데, 네이버 계정에 2차 인증이 걸려있으신 경우에는 https://nid.naver.com/user2/help/myInfoV2?m=viewSecurity&lang=ko_KR 페이지를 통해, 별도의 로그인 암호를 할당받아서 지정하셔야 합니다.

image

아래처럼 애플리케이션 비밀번호를 할당받아서, 생성된 84B***** 암호를 지정하시면 되구요.

image

그래도 잘 해결이 안 된다면, 프로젝트 전체 코드를 제 메일 help@pyhub.kr 로 보내주시면, 코드를 확인해드리겠습니다. 제게 네이버 메일 비밀번호가 노출될 수 있으니, 다른 비밀번호로 변경 후에 코드를 알려주시는 것이 좋겠죠.

확인해보시고 댓글 부탁드립니다. 많이 답답하시겠지만, 같이 차근차근 해결해보시죠. 화이팅입니다! :-)

 

0

이진석님의 프로필 이미지
이진석
지식공유자

2023. 11. 05. 23:54

안녕하세요.

SendGrid 정책이 깐깐하게 변경되어, 네이버 이메일로 가입이 안 되는 경우가 발생하고 있습니다. // SendGrid를 사용하지 않더라도 네이버 메일서버에서도 SMTP를 지원하니까 이를 활용해보실 수 있습니다.

아래 링크의, 강의 설명 하단에 네이버 메일 SMTP를 활용하는 방법에 대해서 설명을 해두었으니, 참고해보시겠어요?

https://www.inflearn.com/course/lecture?courseSlug=%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9E%A5%EA%B3%A0-%EC%9B%B9%EC%84%9C%EB%B9%84%EC%8A%A4&unitId=90578

화이팅입니다.

kwonjiwoo님의 프로필 이미지
kwonjiwoo
질문자

2023. 11. 05. 23:56

가입은 구글로 하고 보내는 이메일을 네이버로 한 것인데도 저걸로 해결 될까요?!!! ㅜㅜㅜㅜ (제발)