이메일 보내기 및 수신 기능 이슈 > 그누보드6 이슈

그누보드6 이슈

좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.

이메일 보내기 및 수신 기능 이슈 정보

이메일 보내기 및 수신 기능 이슈

본문

image

image

아래 회원 가입 시 메일 설정에서는 최고관리자에게 메일이 잘 수신됨을 먼저 참고 해주시길 바랍니다.

  1. 게시판 글 작성 시 메일 설정 > 최고 관리자에게 메일 발송합니다 체크 + 게시판 설정 메일 발송 사용 > 그리고 게시판에 다른 아이디로 글 쓰기 > 메일 오지 않습니다.

스샷 기준 자유게시판 메일 발송 허용 > 글쓰기 > 메일 수신 안됨

  1. qa 게시판 글 쓰기 완료 이후 수신 되는 메일에 템플릿이 미 지정되어있습니다. 소스 확인 결과 템플릿 자체가 적용 안되어있습니다. lib/mail.py

image

추천
0
  • 복사

댓글 9개

1번 질문에서, 메일 발송이 안될 시에 서버에서 어떤 로그를 보여주는지 확인 부탁드립니다.


혹시, [Errno 111] Connection refused 에러 문구가 있을까요?

@Junanjunan


메일이 성공적으로 발송되었다고는 안내 되나 실제로 발송이 안됩니다.


스크린샷 2024-06-24 134454


혹시라도 메일 설정 말씀하실까봐 미리 말씀드릴께요


스크린샷 2024-06-24 134620


위는 1:1 질문 입니다. 똑같이 메일 보냈다고 뜨고


메일도 잘 옵니다.


스크린샷 2024-06-24 134646

아래와 같이 코드 넣어보시고 테스트 결과 알려주실 수 있으실까요?


# core/settings.py

from pydantic_settings import BaseSettings, SettingsConfigDict
from dotenv import load_dotenv # <--추가되는 부분

ENV_PATH = ".env"

load_dotenv(override=True) # <--추가되는 부분
class Settings(BaseSettings):
""".env 파일 설정 모델"""
# .env 파일을 읽어서 환경변수를 설정합니다.
model_config = SettingsConfigDict(
env_file=ENV_PATH,
env_file_encoding='utf-8',
extra='ignore', # extra=forbid (default)
)

ADMIN_THEME: str = "basic" # 관리자 테마
APP_IS_DEBUG: bool = False # 디버그 모드

from dotenv import load_dotenv


load_dotenv(override=True)


위 두줄 입니다.

@Junanjunan


아래대로 진행하였으나, 똑같이 수신 되지 않습니다.


image

메일이 성공적으로 발송되었습니다.
라는 로그를 어디에 남겨놓으셨는지 소스코드를 올려주실수 있을까요?


그리고 현재 문제상황이, 회원가입시와 QA는 정상적으로 메일 기능이 동작하는데,
게시판 글 작성시 관리자에게 메일이 발송되는 부분만 동작을 안하시는 상황이신가요?

@Junanjunan


```

try:
from_address = formataddr((str(Header(from_name, 'utf-8')), from_email))
to_address = formataddr((str(Header(to_name, 'utf-8')), to_email))


    response = requests.post(
f"https://api.mailgun.net/v3/{MAILGUN_DOMAIN}/messages",
auth=("api", MAILGUN_API_KEY),
data={"from": from_address,
"to": [to_address],
"subject": subject,
"html": body})

response.raise_for_status() # 요청이 성공하지 못하면 예외 발생

print("메일이 성공적으로 발송되었습니다.")
except requests.exceptions.RequestException as e:
print(f"메일을 보내는 중에 오류가 발생했습니다. {e}")



메일건을 활용한 API로 변경하여, 성공 시 로그 기록은 아니고 시스템 메세지로 출력하게끔 설정 하였습니다.

또한 회원가입 / QA / 메일인증 등 현재 다른 부분은 정상적으로 동작하며, 게시판 글 작성시에만..동작 하지 않습니다....

그러니깐 메일건이라는 API로 변경해서 발생한 문제가 아니라는 뜻입니다.

(해외 서버라 SMTP를 못 열어서 API를 활용합니다. )

말씀하신대로 메일건이나 작성하신 코드에 이상이 없을 수 있으나,
배포된 코드와 작성하신 코드 로직이 일치하지 않는 상황에서,
주어진 부분만 보고서는 에러 재현이나 디버깅이 어려울 것 같습니다.

파이썬은 잘 모르지만, 일단 테스트 해보니 아래 코드에서는 정상적으로 수신이 됩니다.


그럼 mailer 함수 문제는 아닌 것 같습니다.


위에서 문제인 것 같습니다.


mailer(get_admin_email(request), email, subject, body, get_admin_email_name(request))


mailer("*** 개인정보보호를 위한 이메일주소 노출방지 ***", "테스트 메일 제목", "

메일 내용

", "운영자", "받는 사람")

board.lib.py 파일에서 727번 라인에 메일러 함수가 있는데
혹시나 해서 테스트로 보내기 하니깐 잘 보내집니다.


image


아마 주석에서 받는 파라미터 문제 인 것 같습니다.

@Junanjunan 이유를 알았습니다. 직접 디버깅 해보니 ..관리자에서 설정한 이메일이 적용이 안됩니다.


image


image


이렇게 잡힙니다.


관리자 메일에는 분명


image


이메일 주소가 정상적인데 말이죠


저기에서 관리자 이메일 주소를 비정상적으로 가져와서 발생한 문제입니다!!!!!!


말씀하신데로 실제로 메일은 보내졌지만, 관리자 메일을 못 읽어 제가 수신이 안되었던거네요

90레벨 이상 댓글을 남길 수 있습니다.

© SIRSOFT
현재 페이지 제일 처음으로