mailer: add option to switch between sending from one email address vs from personalized email addresses

pull/73/head
Christian Merten 1 year ago
parent 3d60f7e9bf
commit e2f9eb7db0
Signed by: christian.merten
GPG Key ID: D953D69721B948B3

@ -35,6 +35,10 @@ CONGRATULATE_MEMBERS_MAX = 10
MAX_AGE_GOOD_CONDUCT_CERTIFICATE_MONTHS = 24
ALLOWED_EMAIL_DOMAINS_FOR_INVITE_AS_USER = ('alpenverein-heidelberg.de', )
# mail mode
SEND_FROM_ASSOCIATION_EMAIL = os.environ.get('SEND_FROM_ASSOCIATION_EMAIL', '0') == '1'
# finance
ALLOWANCE_PER_DAY = 22

@ -92,8 +92,13 @@ class MessageAdmin(FilteredMemberFieldMixin, CommonAdminMixin, ObjectPermissions
def submit_message(msg, request):
sender = None
if hasattr(request.user, 'member'):
sender = request.user.member
if not hasattr(request.user, 'member'):
messages.error(request, _("Your account is not connected to a member. Please contact your system administrator."))
return
sender = request.user.member
if not sender.has_internal_email():
messages.error(request, _("Your email address is not an internal email address. Please change your email address and try again."))
return
success = msg.submit(sender)
if success == NOT_SENT:
messages.error(request, _("Failed to send message"))

@ -155,10 +155,17 @@ class Message(CommonModel):
reply_to = [jl.association_email for jl in self.reply_to.all()]
reply_to.extend([ml.email for ml in self.reply_to_email_address.all()])
# set correct from address
if sender is None:
# if the sender is none or if sending from association emails has been
# disabled, use the default sending mail
if sender is None or not settings.SEND_FROM_ASSOCIATION_EMAIL:
from_addr = settings.DEFAULT_SENDING_MAIL
else:
from_addr = sender.association_email
# if sending from the association email has been disabled,
# a sender was supplied and the reply to is empty, add the sender's
# DAV360 email as reply to
if sender and not settings.SEND_FROM_ASSOCIATION_EMAIL and sender.has_internal_email() and reply_to == []:
reply_to.append(sender.email)
try:
success = send(self.subject, get_content(self.content, registration_complete=True),
from_addr,

Loading…
Cancel
Save