소스 검색

forward questions to info mail

master
erichhasl 8 년 전
부모
커밋
aac7e5bc4e
3개의 변경된 파일27개의 추가작업 그리고 13개의 파일을 삭제
  1. +19
    -12
      web_dev/sas_web/meingoethopia/mailutils.py
  2. +4
    -1
      web_dev/sas_web/meingoethopia/views.py
  3. +4
    -0
      web_dev/sas_web/sas_web/settings.py

+ 19
- 12
web_dev/sas_web/meingoethopia/mailutils.py 파일 보기

@@ -1,7 +1,5 @@
from django.core import mail from django.core import mail
from django.core.mail import EmailMessage
from django.conf import settings from django.conf import settings
from django.core.mail.backends.smtp import EmailBackend




NOT_SENT, SENT, PARTLY_SENT = 0, 1, 2 NOT_SENT, SENT, PARTLY_SENT = 0, 1, 2
@@ -14,20 +12,29 @@ def send_from_arbeitsministerium(subject, content, recipients, reply_to=None):
auth_password=settings.EMAIL_ARBEITSMINISTERIUM_PASSWORD) auth_password=settings.EMAIL_ARBEITSMINISTERIUM_PASSWORD)




def send_from_info(subject, content, recipients, reply_to=None):
return send(subject, content, settings.EMAIL_INFO, recipients,
reply_to=reply_to,
auth_user=settings.EMAIL_INFO_USER,
auth_password=settings.EMAIL_INFO_PASSWORD)


def send(subject, content, sender, recipients, reply_to=None, def send(subject, content, sender, recipients, reply_to=None,
auth_user=None, auth_password=None): auth_user=None, auth_password=None):
failed, succeeded = False, False failed, succeeded = False, False
if type(recipients) != list: if type(recipients) != list:
recipients = [recipients] recipients = [recipients]
for recipient in set(recipients):
try:
mail.send_mail(subject, content, sender, recipients,
auth_user=auth_user,
auth_password=auth_password)
except Exception as e:
print("Error when sending mail:", e)
failed = True
else:
succeeded = True
with mail.get_connection(username=auth_user, password=auth_password) as conn:
for recipient in set(recipients):
try:
msg = mail.EmailMessage(subject, content, sender, recipients,
reply_to=reply_to,
connection=conn)
msg.send()
except Exception as e:
print("Error when sending mail:", e)
failed = True
else:
succeeded = True
return NOT_SENT if failed and not succeeded else SENT if not failed\ return NOT_SENT if failed and not succeeded else SENT if not failed\
and succeeded else PARTLY_SENT and succeeded else PARTLY_SENT

+ 4
- 1
web_dev/sas_web/meingoethopia/views.py 파일 보기

@@ -1,8 +1,9 @@
from django.shortcuts import render from django.shortcuts import render
from django import forms from django import forms
from django.conf import settings
from captcha.fields import CaptchaField from captcha.fields import CaptchaField
from .models import Betrieb, Partei, PresidentCandidate, Question from .models import Betrieb, Partei, PresidentCandidate, Question
from .mailutils import send_from_arbeitsministerium
from .mailutils import send_from_arbeitsministerium, send_from_info




class BetriebForm(forms.Form): class BetriebForm(forms.Form):
@@ -106,6 +107,8 @@ def question_new(request):
ip_address=get_client_ip(request), ip_address=get_client_ip(request),
answered=False) answered=False)
question.save() question.save()
send_from_info(question.subject, question.content,
settings.EMAIL_INFO, reply_to=[question.email])
return render_confirmation(request) return render_confirmation(request)
else: else:
form = QuestionForm() form = QuestionForm()


+ 4
- 0
web_dev/sas_web/sas_web/settings.py 파일 보기

@@ -146,3 +146,7 @@ EMAIL_USE_TLS = True if deployed else False
EMAIL_ARBEITSMINISTERIUM = os.environ.get('EMAIL_ARBEITSMINISTERIUM', '') EMAIL_ARBEITSMINISTERIUM = os.environ.get('EMAIL_ARBEITSMINISTERIUM', '')
EMAIL_ARBEITSMINISTERIUM_USER = os.environ.get('EMAIL_ARBEITSMINISTERIUM', '') EMAIL_ARBEITSMINISTERIUM_USER = os.environ.get('EMAIL_ARBEITSMINISTERIUM', '')
EMAIL_ARBEITSMINISTERIUM_PASSWORD = os.environ.get('EMAIL_ARBEITSMINISTERIUM_PASSWORD', '') EMAIL_ARBEITSMINISTERIUM_PASSWORD = os.environ.get('EMAIL_ARBEITSMINISTERIUM_PASSWORD', '')

EMAIL_INFO = os.environ.get('EMAIL_INFO', '')
EMAIL_INFO_USER = os.environ.get('EMAIL_INFO', '')
EMAIL_INFO_PASSWORD = os.environ.get('EMAIL_INFO_PASSWORD', '')

불러오는 중...
취소
저장