테스트 사이트 - 개발 중인 베타 버전입니다

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

seiblog-nandsoft
· 1년 전 · 366 · 9
![image](https://github.com/gnuboard/g6/assets/155944061/89514ed9-d5f1-45f5-beb1-e8d69cd45ad7)

![image](https://github.com/gnuboard/g6/assets/155944061/709e2ec8-1440-4773-a027-0463b7a58277)

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

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

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

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

![image](https://github.com/gnuboard/g6/assets/155944061/177bbada-c777-45e7-9a0f-e8850d9d22f2)

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 9개

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

혹시, [Errno 111] Connection refused 에러 문구가 있을까요?
seiblog-nandsoft
1년 전
@Junanjunan

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

![스크린샷 2024-06-24 134454](https://github.com/gnuboard/g6/assets/155944061/1fd925ea-222b-43e8-9193-d2578be6545e)


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

![스크린샷 2024-06-24 134620](https://github.com/gnuboard/g6/assets/155944061/c977f175-417d-4504-995e-83bac5e7d1e8)

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

메일도 잘 옵니다.

![스크린샷 2024-06-24 134646](https://github.com/gnuboard/g6/assets/155944061/b870e10e-ce2b-45f3-b4d0-31825c7af98a)
1년 전
아래와 같이 코드 넣어보시고 테스트 결과 알려주실 수 있으실까요?

```python
# 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)

위 두줄 입니다.
seiblog-nandsoft
1년 전
@Junanjunan

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

![image](https://github.com/gnuboard/g6/assets/155944061/e74873f2-d392-4675-809e-5f864d73ccb8)
1년 전
메일이 성공적으로 발송되었습니다.
라는 로그를 어디에 남겨놓으셨는지 소스코드를 올려주실수 있을까요?

그리고 현재 문제상황이, 회원가입시와 QA는 정상적으로 메일 기능이 동작하는데,
게시판 글 작성시 관리자에게 메일이 발송되는 부분만 동작을 안하시는 상황이신가요?
seiblog-nandsoft
1년 전
@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를 활용합니다. )
1년 전
말씀하신대로 메일건이나 작성하신 코드에 이상이 없을 수 있으나,
배포된 코드와 작성하신 코드 로직이 일치하지 않는 상황에서,
주어진 부분만 보고서는 에러 재현이나 디버깅이 어려울 것 같습니다.
seiblog-nandsoft
1년 전
파이썬은 잘 모르지만, 일단 테스트 해보니 아래 코드에서는 정상적으로 수신이 됩니다.

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

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

# mailer(get_admin_email(request), email, subject, body, get_admin_email_name(request))
mailer("admin@humorous.co.kr", "seiblog@naver.com", "테스트 메일 제목", "<p>메일 내용</p>", "운영자", "받는 사람")

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

![image](https://github.com/gnuboard/g6/assets/155944061/2bb94fe8-a047-4f7a-8eac-416db766c0d9)

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


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

![image](https://github.com/gnuboard/g6/assets/155944061/1665b872-d8cb-40b1-ad37-9136ee1e9553)

![image](https://github.com/gnuboard/g6/assets/155944061/0aad3db8-0437-451b-bd32-f98267f45e3c)

이렇게 잡힙니다.

관리자 메일에는 분명

![image](https://github.com/gnuboard/g6/assets/155944061/f3641c97-38c7-4fc6-a8a2-ac85627214cb)

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

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

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

게시글 목록

번호 제목
290
284
282
281
279
277
275
272
263
258
257
256
255
252
251
244
243
239
236
235