이메일 보내기 및 수신 기능 이슈 정보
이메일 보내기 및 수신 기능 이슈본문
아래 회원 가입 시 메일 설정에서는 최고관리자에게 메일이 잘 수신됨을 먼저 참고 해주시길 바랍니다.
- 게시판 글 작성 시 메일 설정 > 최고 관리자에게 메일 발송합니다 체크 + 게시판 설정 메일 발송 사용 > 그리고 게시판에 다른 아이디로 글 쓰기 > 메일 오지 않습니다.
스샷 기준 자유게시판 메일 발송 허용 > 글쓰기 > 메일 수신 안됨
- qa 게시판 글 쓰기 완료 이후 수신 되는 메일에 템플릿이 미 지정되어있습니다. 소스 확인 결과 템플릿 자체가 적용 안되어있습니다. lib/mail.py
0
관련링크
댓글 9개
1번 질문에서, 메일 발송이 안될 시에 서버에서 어떤 로그를 보여주는지 확인 부탁드립니다.
혹시, [Errno 111] Connection refused 에러 문구가 있을까요?
@Junanjunan
메일이 성공적으로 발송되었다고는 안내 되나 실제로 발송이 안됩니다.
혹시라도 메일 설정 말씀하실까봐 미리 말씀드릴께요
위는 1:1 질문 입니다. 똑같이 메일 보냈다고 뜨고
메일도 잘 옵니다.
아래와 같이 코드 넣어보시고 테스트 결과 알려주실 수 있으실까요?
# 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
아래대로 진행하였으나, 똑같이 수신 되지 않습니다.
메일이 성공적으로 발송되었습니다.
라는 로그를 어디에 남겨놓으셨는지 소스코드를 올려주실수 있을까요?
그리고 현재 문제상황이, 회원가입시와 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번 라인에 메일러 함수가 있는데
혹시나 해서 테스트로 보내기 하니깐 잘 보내집니다.
아마 주석에서 받는 파라미터 문제 인 것 같습니다.
@Junanjunan 이유를 알았습니다. 직접 디버깅 해보니 ..관리자에서 설정한 이메일이 적용이 안됩니다.
이렇게 잡힙니다.
관리자 메일에는 분명
이메일 주소가 정상적인데 말이죠
저기에서 관리자 이메일 주소를 비정상적으로 가져와서 발생한 문제입니다!!!!!!
말씀하신데로 실제로 메일은 보내졌지만, 관리자 메일을 못 읽어 제가 수신이 안되었던거네요
90레벨 이상 댓글을 남길 수 있습니다.