Django로 간단하게 Gmail로 메일을 보내주세요.

8808 단어 DjangoPython

입문


지금은 완전히 개인적으로 mBaaS를 제작하는 물건입니다. 만인을 대상으로 하는 OSS라면 계좌 등도 고려해야 하기 때문에 메일을 보냈습니다.

환경

  • Python 2.7.11
  • Virtualenv
  • Django 1.9.1
  • OSX 10.11.6
  • PyAPNs는 Python2입니다.x만 지원하기 때문에 어떤 초등학생에게 맞을지 알고 파이썬2로 설치했습니다.Python3.x도 직접 사용할 수 있을 것 같습니다. 마음에 드시면
    나는 아직까지 Django 1.10에 대응할 수 없다.용서해 주세요.

    준비


    가상화 가상화
    $ pip install django==1.9.1
    $ django-admin.py startproject sampleproject
    $ django-admin.py startapp send_mail
    

    소스 코드


    먼저 settings.py 이렇게 설정해 주세요.
    sampleproject/settings.py
    # coding: utf-8
    ・・・
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'send_mail', # 追加
    ]
    ・・・
    LANGUAGE_CODE = 'ja'
    
    TIME_ZONE = 'Asia/Tokyo'
    ・・・
    EMAIL_USE_TLS = True
    EMAIL_HOST = 'smtp.gmail.com'
    EMAIL_HOST_USER = '[email protected]'
    EMAIL_HOST_PASSWORD = 'passowrd'
    EMAIL_PORT = 587
    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    
    sampleproject/urls.py
    # coding: utf-8
    
    from django.conf.urls import url, include
    from django.contrib import admin
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^', include('send_mail.urls', namespace = 'send_mail')),
    ]
    
    각각의 어플리케이션에 따라 라우팅을 하고 싶어서 그런 느낌입니다.
    send_mail/views.py
    # coding: utf-8
    
    from django.core.mail import EmailMessage
    from django.http import HttpResponse
    
    def index(request):
       EmailMessage(u'件名', u'本文', to = ['[email protected]', '[email protected]']).send()
       return HttpResponse('Send your register email')
    
    send_mail 바로 아래에서 생성urls.pysend_mail/urls.py
    from django.conf.urls import url
    from accounts import views
    
    urlpatterns = [
        url(r'^$', views.index, name = 'index'),
    ]
    
    원본 코드 자체가 이런 느낌이다.지금
    $ python manage.py migrate
    $ python manage.py runserver
    
    http://127.0.0.1:8000만약 정말 방문할 수 있다면 구글의 Authenticate는 규격상 좀 복잡하다

    구글 측의 설정


  • 우선 사용하는 계정으로 로그인하세요!
  • 계정 이 파란색 단추 누르기
  • 아래 페이지이기 때문에 로그인과 보안을 클릭합니다

  • 아래로 내려가면 보안이 낮은 프로그램의 허가가 있기 때문에 기본적으로 닫힌 상태에서 열어야 합니다.아래 그림이 되면 사용할 수 있습니다.

  • 제가 해볼게요.


    나의 경우 로그인 비밀번호를 잊어버린 사람을 위해 메일을 보내기 때문에 이런 메일 내용이다.

    트위터의 트윗을 찍어서 붙이는 폭거.

    경품


    암호를 재설정하기 위해 임의로 문자열 만들기
    Python2.x계
    import random, string
    
    print(''.join([random.choice(string.letters + string.digits) for i in xrange(10)]))
    
    Python3.x계
    import random, string
    
    print(''.join([random.choice(string.ascii_letters + string.digits) for i in range(10)]))
    
    굉장히 쉬워요!

    좋은 웹페이지 즐겨찾기