inflearn logo
강의

Course

Instructor

Complete Guide to Python/Django Web Service Development with React

Send a welcome email to members

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

885

kwonjiwoo

20 asked

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 입니다 ㅜㅜ

 

react python django docker

Answer 3

0

kwonjiwoo

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)

이렇게 햇는데 계속

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

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

0

pyhub

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

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

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

화이팅입니다. :-)

0

kwonjiwoo

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

0

kwonjiwoo

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

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

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

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

 

0

pyhub

네이버 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

pyhub

안녕하세요.

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

화이팅입니다.

0

kwonjiwoo

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

안녕하세요.

0

44

1

[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?

0

267

1

useEffect 훅에서 else 유무에 따른 결과

0

207

1

useAxios 훅의 dependency array 설정

0

241

1

useEffect에서 변수 업데이트 관련 질문

0

378

1

rest_framework.generics.CreateAPIView의 model 속성 유무

0

262

1

bootstrap4

0

464

4

리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요

1

357

1

admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법

0

568

3

useState는 필수일까요?

0

256

1

python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.

0

589

4

Django allauth를 사용한 소셜 로그인 시 에러

0

648

1

프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러

0

548

2

useLocalStorage() 함수 사용여부

0

223

1

django에 LOGIN_URL = '/accounts/login/'의 의미?

0

443

1

리듀서의 의미 재확인

0

423

1

simple-jwt Refresh Token 사용 노하우

0

894

2

docker compose 를 통한 배포 관련 오류 문의

0

664

1

파이썬 속도 장고 관련 궁금한게 있습니다.

0

357

1

is_like_user

0

227

1

related_name 오류

0

267

1

re_path 오류

0

252

1

re_path url

0

244

1

No post matches the given query

0

653

2