def send_mails(modeladmin, request, queryset): connection = None for message in queryset: if connection == None: connection = get_connection(backend=EMAIL_BACKEND) try: logging.info("sending message '%s' to %s" % (message.subject.encode("utf-8"), u", ".join(message.to_addresses).encode("utf-8"))) email = message.email email.connection = connection email.send() message.delete() except (socket_error, smtplib.SMTPSenderRefused, smtplib.SMTPRecipientsRefused, smtplib.SMTPAuthenticationError), err: message.defer() logging.info("message deferred due to failure: %s" % err) MessageLog.objects.log(message, 3, log_message=str(err)) # @@@ avoid using literal result code
def send_mails(): messages = Message.objects.order_by('when_added') if messages.count() <= 0: return True connection = get_connection(backend=EMAIL_BACKEND) for message in messages: if not email_re.search(str(message.email)): message.delete() continue try: email = message.email email.connection = connection email.send() message.delete() except (socket_error, smtplib.SMTPSenderRefused, smtplib.SMTPRecipientsRefused, smtplib.SMTPAuthenticationError), err: message.defer() MessageLog.objects.log(message, 3, log_message=str(err))