2026, 새로운 도약을 시작합니다.

그누6 메일 전송 방법을 SMTP>메일건으로 변경하기

· 1년 전 · 523

그누6에서는 SMTP를 활용하여, 메일 전송을 하고 있지만, 해외 클라우드 환경에서는 SMTP 열기가 참 어렵습니다. 

아니 열어 달라고 하면 열어주기는 하지만, 소명해야 하는 등

조금 귀찮아 다른 플러그인을 많이 사용하고 있습니다.

그누5에서 @명랑폐인 님께서 공유해주신 메일건 사용을 하시는 분들이라면

그누6에서도 똑같이 사용할 수 있습니다.

https://sir.kr/g5_plugin/4270

설정 이나 이런건 위 내용에 참고 해주세요

978180634_1718948290.6575.png

테스트 해보니 메일검사 / 테스트 메일 / 회원가입 관리자 메일전송 / 이메일 인증까지 다 잘됩니다.

로컬에서도 정상적으로 테스트가 잘 되니 적용해보시는 것도 좋을 듯 합니다.

단. 해당 mail 함수 수정 시 원본 업데이트 시 원복 되므로 백업을 통해 주기적으로 해당 함수만 복원해주시면 됩니다.

다른 부분은 건드릴 필요 없이 mailer 함수 하나만 변경 하였습니다.

먼저 requests 를 설치 해야 합니다.

[code]

pip install requests

[/code]

그리고 lib/mail.py 파일을 열어주셔서 상단에 requests 임포트 해주세요

[code]

import smtplib

import requests

[/code]

smtplib 바로 밑에 리퀘스트를 추가해주시면 됩니다.

그리고 _SMTP_PASSWORD = settings.SMTP_PASSWORD 코드 바로 아래에 api 키 및 도메인을 입력해주세요

[code]

MAILGUN_API_KEY = "api-key"

MAILGUN_DOMAIN = "send 도메인"

[/code]

그리고 원래 메일 함수를 주석 달아주세요

978180634_1718948499.2302.png

혹시 몰라서 지우진 않고 주석만 달았습니다^^;

그리고 pass 다음줄부터 다음 코드를 추가 해주시면 끝입니다.

[code]

    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}")

[/code]

이렇게 해주시면, 메일건을 활용한 메일을 완성하실 수 있습니다.

사용법은 기존 메일러 함수와 동일하기 때문에 아무것도 건드릴 필요가 없습니다.

앞서 언급해드린데로 라이브러리 함수 자체를 건드리는 것이라,

추후 업데이트 되었을 때 원상 복구 되는 부분을 감안해 해당 코드 혹은 파일은 별도 보관하시길 바랍니다.

고맙습니다.

|

댓글 작성

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

로그인하기

그누보드6 팁자료실

그누보드6, 파이썬에 대한 팁과 자료를 올려주세요.
그누보드6 실서비스를 위한 웹서버 설정
번호 제목 글쓴이 날짜 조회
49 6일 전 조회 33
48 9개월 전 조회 745
47 1년 전 조회 691
46 1년 전 조회 805
45 1년 전 조회 738
44 1년 전 조회 544
43 1년 전 조회 529
42 1년 전 조회 864
41 1년 전 조회 524
40 1년 전 조회 860
39 1년 전 조회 1,951
38 1년 전 조회 2,791
37 1년 전 조회 1,584
36 1년 전 조회 2,516
35 1년 전 조회 1,196
34 1년 전 조회 1,746
33 1년 전 조회 2,297
32 1년 전 조회 730
31 1년 전 조회 1,280
30 1년 전 조회 1,071
29 1년 전 조회 1,300
28 1년 전 조회 974
27 1년 전 조회 897
26 1년 전 조회 1,106
25 1년 전 조회 817
24 1년 전 조회 1,228
23 1년 전 조회 729
22 1년 전 조회 604
21 1년 전 조회 1,119
20 1년 전 조회 1,194
🐛 버그신고