[django toolBox]장고 django-allauth 1 이용 google login 구현 (Sign in with Google Django) - Django Social Authentication

이글만 보기

[django toolBox] 장고 mailchimp 연동하기

[django toolBox] 장고 mailchimp 연결하기

 

1.html 입력 폼

 
                        <h4>뉴스레터</h4>
                        <form action="/newsletter/" method="POST" class="footer-newslatter">
                        {% csrf_token %}
                            <input type="email" placeholder="이메일 입력" name="newsemail">
                            <button type="submit" class="site-btn">구독하기</button>
                            <p>*최신 기술 뉴스를 받아보세요</p>
                        </form>

 

2.Views

from django.conf import settings
from mailchimp_marketing import Client
from mailchimp_marketing.api_client import ApiClientError
   

# Mailchimp Settings
api_key = settings.MAILCHIMP_API_KEY
server = settings.MAILCHIMP_DATA_CENTER
list_id = settings.MAILCHIMP_EMAIL_LIST_ID

# 메일침프 구독 
def subscribe(newsemail):
    

    mailchimp = Client()
    mailchimp.set_config({
        "api_key"api_key,
        "server"server,
    })

    member_info = {
        "email_address"newsemail,
        "status""subscribed",
    }

    try:
        response = mailchimp.lists.add_list_member(list_idmember_info)
        print("response: {}".format(response))
    except ApiClientError as error:
        print("An exception occurred: {}".format(error.text))

def newsletter(request):
    if request.method == "POST":
        newsemail = request.POST['newsemail']
        subscribe(newsemail)
        messages.success(request"뉴스레터 이메일 구독에 감사합니다!"# 구독감사메세지

    return redirect('courses:home')

 

3.연결

from django.urls import path

from users.views import newsletter

urlpatterns = [    
    path('newsletter/'newslettername='newsletter'),
]

 

4.장고 메일침프 설치

pip install mailchimp-marketing

 

5.settings.py

# MAILCHIMP CREDENTIALS
MAILCHIMP_API_KEY = ""
MAILCHIMP_DATA_CENTER = ""
MAILCHIMP_EMAIL_LIST_ID = ""

이글만 보기

[django toolBox] 메일폼 보내기 contact form 만들기 (모델 없이 views와 gmail 또는 메일건 mailgun 이용)

[django toolBox] 는 장고 사용에 필요한 기능들을 군더더기 없이 짧고 간편하게 설명합니다.

 

django를 이용해 신청서나 폼메일등에서 Gmail의 smtp로 메일을 발송하는 방법을 소개합니다.

 

장고를 이용한 폼메일로 이번에는 model을 만들지 말고 바로 이메일만 보내보도록 하겠습니다.

또 gmail 에 이어서 mailgun을 smtp로 사용하는 것도 배우게 됩니다.

만약 model 을 이용한 폼메일 제작은 [django toolBox] Gmail의 smtp를 백엔드로 이용하여 메일 보내기 contact form 만들기 (모델 이용)

을 참고해 주세요.

1.먼저 gmail의 보안수준을 낮게 설정해야 합니다.

https://myaccount.google.com/lesssecureapps

 

2.settings.py 수정

 

EMAIL_HOST='smtp.gmail.com'
EMAIL_HOST_USER='123@gmail.com'
EMAIL_HOST_PASSWORD='123123123'
EMAIL_PORT = 587

 

3.html 폼 입력 받기

 
          <!-- contact form -->
          <form action="/question/" method="post" class="signup-form">{% csrf_token %}
            <input type="text" placeholder="성함" name="name">
            <input type="text" placeholder="이메일" name="e-mail">
            <textarea placeholder="하실말씀" name="text">      
            </textarea>
            <button class="site-btn">문의</button>
          </form>

4.view만들기

def 문의뷰(request):
    if request.method == 'POST':
        name = request.POST.get('name')
        email = request.POST.get('e-mail')
        text = request.POST.get('text')
        
        message = '안녕하세요! 샵투 스쿨입니다.문의가 접수 되었습니다! 빠른시간내에 답변 드리겠습니다!'
        send_mail(
            '안녕하세요, 샵투스쿨 문의 요청이 접수 되었습니다.',
            message,
            '보낸사람@gmail.com',
            [email],
            fail_silently=False,
        )
        send_mail(
            'shop2',
            '누군가 문의 요청했습니다. 문의 정보: ' + name + ' , ' + email + ' , ' + text + ' , ' + '.',
            '보낸사람@gmail.com',
            ['벋는사람@gmail.com'],
            fail_silently=False,
        )
        messages.info(requestf'요청이 성공적으로 접수 되었습니다. 이메일을 확인 해 주세요.')
    return redirect('courses:home')    

 

5. urls 연결하기

 

urlpatterns = [
      path('question/'문의뷰name='question')
]

 

 

6.메일건 

EMAIL_USE_TLS = True
EMAIL_HOST='smtp.mailgun.org'
EMAIL_HOST_USER='postmaster@mg.도메인.co' #도메인 등록한 경우
EMAIL_HOST_PASSWORD='1234'
EMAIL_PORT = 587

이글만 보기

[django toolBox] Gmail의 smtp를 백엔드로 이용하여 메일 보내기 contact form 만들기 (모델 이용)

[django toolBox] 는 장고 사용에 필요한 기능들을 군더더기 없이 짧고 간편하게 설명합니다.

 

django를 이용해 신청서나 폼메일등에서 Gmail의 smtp로 메일을 발송하는 방법을 소개합니다.

gmail의 보안수준을 낮게 설정하기

https://myaccount.google.com/lesssecureapps

 

settings.py 수정

 

EMAIL_HOST='smtp.gmail.com'
EMAIL_HOST_USER='123@gmail.com'
EMAIL_HOST_PASSWORD='123123123'
EMAIL_PORT = 587

 

 

이글만 보기
레슨 27 27.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 이메일 보내기 기능 send_mail