python类DEFAULT_FROM_EMAIL的实例源码

views.py 文件源码 项目:Bitpoll 作者: fsinfuhh 项目源码 文件源码 阅读 65 收藏 0 点赞 0 评论 0
def _send_invitation_mail(request, invitation, subject, template_name):
    if not invitation.invitee.email:
        return
    old_lang = translation.get_language()
    translation.activate(invitation.invitee.language)
    template = loader.get_template('groups/mail_{0}.txt'.format(template_name))
    message = template.render({
        'invitation': invitation,
        'site': get_current_site(request)
    })
    translation.activate(old_lang)
    send_mail(settings.EMAIL_SUBJECT_PREFIX + subject,
              message,
              settings.DEFAULT_FROM_EMAIL,
              [invitation.invitee.email],
              fail_silently=True)
user.py 文件源码 项目:mk42 作者: Peer-Lab 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def email_context(self):
        """
        Return user emails default context.

        :return: default context for user emails.
        :rtype: dict.
        """

        return {
            "user": self,
            "site": Site.objects.get_current(),
            "FROM_EMAIL": settings.DEFAULT_FROM_EMAIL,
            "FROM_EMAIL_SENDER": settings.DEFAULT_FROM_EMAIL_SENDER,
            "FROM": "{sender} <{email}>".format(**{
                "sender": settings.DEFAULT_FROM_EMAIL_SENDER,
                "email": settings.DEFAULT_FROM_EMAIL,
            }),
            "protocol": settings.URL_PROTOCOL,
        }
user.py 文件源码 项目:mk42 作者: Peer-Lab 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def send_email(self, template, context):
        """
        Send email to user.

        :param template: email template.
        :type template: unicode.
        :param context: email context.
        :type context: dict.
        """

        context.update(self.email_context)  # update email context by some default values
        language = get_language()  # remember current language (sometimes it's useful)
        activate(self.language)
        send_templated_mail(
            template_name=template,
            from_email=context.get("FROM", settings.DEFAULT_FROM_EMAIL),
            recipient_list=[self.email, ],
            context=context,
        )
        activate(language)
mail.py 文件源码 项目:pyconjp-website 作者: pyconjp 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def send_email(to, kind, **kwargs):

    current_site = Site.objects.get_current()

    ctx = {
        "current_site": current_site,
        "STATIC_URL": settings.STATIC_URL,
    }
    ctx.update(kwargs.get("context", {}))
    subject = "[%s] %s" % (
        current_site.name,
        render_to_string("emails/%s/subject.txt" % kind, ctx).strip()
    )

    message_html = render_to_string("emails/%s/message.html" % kind, ctx)
    message_plaintext = strip_tags(message_html)

    from_email = settings.DEFAULT_FROM_EMAIL

    email = EmailMultiAlternatives(subject, message_plaintext, from_email, to)
    email.attach_alternative(message_html, "text/html")
    email.send()
views.py 文件源码 项目:PublicAPI 作者: InternetSemLimites 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def provider_new(request):
    if request.method != 'POST':
        return HttpResponseNotAllowed(['POST'])

    form = ProviderForm(request.POST)
    if not form.is_valid():
        return JsonResponse({'errors': form.errors})

    provider = form.save()
    _send_mail('+1 InternetSemLimites',
               settings.DEFAULT_FROM_EMAIL,
               list(_get_admin_emails()),
               'core/provider_email.txt',
               dict(provider=provider))

    return HttpResponseRedirect(resolve_url('api:provider', provider.pk))
notify_reviewers_unverified.py 文件源码 项目:timed-backend 作者: adfinis-sygroup 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def _notify_reviewers(self, start, end, reports):
        """Notify reviewers on their unverified reports."""
        User = get_user_model()
        reviewers = User.objects.all_reviewers().filter(email__isnull=False)
        subject = '[Timed] Verification of reports'
        from_email = settings.DEFAULT_FROM_EMAIL
        mails = []

        for reviewer in reviewers:
            if reports.filter(task__project__reviewers=reviewer).exists():
                body = render_to_string(
                    'mail/notify_reviewers_unverified.txt', {
                        # we need start and end date in system format
                        'start': str(start),
                        'end': str(end),
                        'reviewer': reviewer,
                        'protocol': settings.HOST_PROTOCOL,
                        'domain': settings.HOST_DOMAIN,
                    }, using='text'
                )

                mails.append((subject, body, from_email, [reviewer.email]))

        if len(mails) > 0:
            send_mass_mail(mails)
models.py 文件源码 项目:opencon-2016-app-code 作者: sparcopen 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def send_access(self):
        if self.sent_email_data:
            can_send = timezone.now() - self.sent_email_data > datetime.timedelta(minutes=settings.SEND_ACCESS_INTERVAL)
        else:
            can_send = True

        if can_send:
            self.sent_email_data = timezone.now()
            self.save()
            if settings.SEND_EMAILS:
                message = render_to_string('application/email/draft.txt', {'uuid': self.uuid, 'email': self.email,})
                email = EmailMessage(
                    subject='OpenCon 2016 Draft Application',
                    body=message,
                    from_email=settings.DEFAULT_FROM_EMAIL,
                    to=[self.email],
                )
                email.content_subtype = "html"
                email.send(fail_silently=True)
            return True
        return False
models.py 文件源码 项目:Try-Django-1.11 作者: codingforentrepreneurs 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def send_activation_email(self):
        if not self.activated:
            self.activation_key = code_generator()# 'somekey' #gen key
            self.save()
            #path_ = reverse()
            path_ = reverse('activate', kwargs={"code": self.activation_key})
            full_path = "https://muypicky.com" + path_
            subject = 'Activate Account'
            from_email = settings.DEFAULT_FROM_EMAIL
            message = f'Activate your account here: {full_path}'
            recipient_list = [self.user.email]
            html_message = f'<p>Activate your account here: {full_path}</p>'
            print(html_message)
            sent_mail = send_mail(
                            subject, 
                            message, 
                            from_email, 
                            recipient_list, 
                            fail_silently=False, 
                            html_message=html_message)
            sent_mail = False
            return sent_mail
big_email_send.py 文件源码 项目:steemprojects.com 作者: noisy 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def handle(self, *args, **options): 
        print("Commencing big email send", file=stdout)

        #users = User.objects.filter(is_active=True).exclude(email__contains="qq.com").exclude(email__contains="tom.com")
        users = User.objects.filter(username__in=("pydanny","audreyr"))

        for index, user in enumerate(users):
            if not user.email.strip():
                continue
            send_mail(
                subject=settings.BIG_EMAIL_SEND_SUBJECT,
                message=settings.BIG_EMAIL_SEND,
                from_email=settings.DEFAULT_FROM_EMAIL,
                recipient_list=[user.email,],
            )            
            print("Sent to", index, user.email)
            time.sleep(1)
views.py 文件源码 项目:Quantrade 作者: quant-trade 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def send_broker_notifications(logged_user):
    try:
        if logged_user.email:
            recipients = [logged_user.email]
            subject = "Quantrade received your broker account"
            message = "We had received your broker account number. In a day, your acount will be checked and activated by robot.\n\n"
            sender = settings.DEFAULT_FROM_EMAIL
            send_mail(subject, message, sender, recipients)

        recipients = [settings.NOTIFICATIONS_EMAILS]
        subject = "New user registered broekr account"
        message = "User: {1}.\n\n".format(logged_user.username)
        sender = settings.DEFAULT_FROM_EMAIL
        send_mail(subject, message, sender, recipients)
    except:
        pass
tasks.py 文件源码 项目:Quantrade 作者: quant-trade 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def data_checker(loop):
    list_failing = []
    p = join(settings.DATA_PATH, "incoming")
    filenames = multi_filenames(path_to_history=p, csv=True)

    list_failing = read_failing(filenames=filenames, path_to=p, loop=loop, list_failing=list_failing)

    if settings.SHOW_DEBUG:
        print("Failing symbols: {}\n".format(list_failing))

    cnt = len(list_failing)
    print("Failing number: {}\n".format(cnt))

    if (cnt > 0) & (cnt < 10):
        subject = "Failing datafiles: {}".format(cnt)
        message = "{0}\n\n".format(list_failing)
        sender = settings.DEFAULT_FROM_EMAIL
        send_mail(subject, message, sender, settings.NOTIFICATIONS_EMAILS)

        loop.run_until_complete(gather(*[clean_failed_file(path_to=p, \
            file_name=file_name) for file_name in list_failing], return_exceptions=True
        ))
signals.py 文件源码 项目:Quantrade 作者: quant-trade 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def send_new_profile_email(sender, instance, **kwargs):
    try:
        if kwargs["created"]:
            send_mail('New user registered at Quantrade', \
                'Quantrade has new user {}.\n\n'.format(instance), \
                settings.DEFAULT_FROM_EMAIL,
                settings.NOTIFICATIONS_EMAILS, \
                fail_silently=False)

            email = instance.email
            if email:
                send_mail('You had registered at Quantrade!', \
                    'You are now the member of Quantrade quantitative trading signals where you can enjoy hundreds of profitable trading strategies for free!.\n\n', \
                    settings.DEFAULT_FROM_EMAIL,
                    [email], \
                    fail_silently=False)

    except:
        pass
tasks.py 文件源码 项目:teamreporter 作者: agilentia 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def send_summary(report_pk):
    report = Report.objects.get(pk=report_pk)
    daily = report.get_daily()
    messages = []
    questions = daily.report.question_set.active()
    surveys = daily.survey_set.all()
    for user in report.stakeholders:
        context = Context({'user': user,
                           'daily': daily,
                           'surveys': surveys,
                           'questions': questions})
        context['SITE_URL'] = settings.SITE_URL
        subject = render_to_string('email/summary_subject.txt', context)

        text = get_template('email/summary.txt')
        html = get_template('email/summary.html')
        text_content = text.render(context)
        html_content = html.render(context)
        messages.append([subject, text_content, html_content, settings.DEFAULT_FROM_EMAIL, [user.email]])

    send_mass_html_mail(messages)
    daily.summary_submitted = now()
    daily.save()
email.py 文件源码 项目:tumanov_castleoaks 作者: Roamdev 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def send(request, receivers, subject, message, fail_silently=True):
    if not receivers:
        return True
    if isinstance(receivers, str):
        receivers = [receivers]

    # ??????? ?????? ? subject
    site = get_current_site(request)
    subject = subject.format(domain=site.domain)

    plain = strip_tags(message)
    plain = re_newline_spaces.sub('\n', plain)
    plain = re_newlines.sub('\n\n', plain)

    send_mail(
        subject=subject,
        message=plain,
        from_email=settings.DEFAULT_FROM_EMAIL,
        recipient_list=receivers,
        html_message=message,
        fail_silently=fail_silently,
    )
signals.py 文件源码 项目:QProb 作者: quant-trade 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def send_new_feedback_email(sender, instance, **kwargs):
    try:
        if kwargs["created"]:
            send_mail('New feedback at {}'.format(settings.SHORT_SITE_NAME), \
                'The message {0}.\n\nName: {1}\n\nEmail: {2}'.format(instance.message, instance.name, instance.email), \
                settings.DEFAULT_FROM_EMAIL,
                settings.NOTIFICATIONS_EMAILS, \
                fail_silently=False)

            email = instance.email
            if email:
                send_mail('Thank you for your feedback for {}!'.format(settings.SHORT_SITE_NAME), \
                    "Thank you for your mesasge. If requested, we'll contact you shortly.\n\n", \
                    settings.DEFAULT_FROM_EMAIL,
                    [email], \
                    fail_silently=False)

    except:
        pass
signals.py 文件源码 项目:QProb 作者: quant-trade 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def send_new_source_email(sender, instance, **kwargs):
    try:
        if kwargs["created"]:
            send_mail('New source at {}'.format(settings.SHORT_SITE_NAME), \
                'New source registered, pelase visit to review.', \
                settings.DEFAULT_FROM_EMAIL,
                settings.NOTIFICATIONS_EMAILS, \
                fail_silently=False)

            email = instance.email
            if email:
                send_mail('Thank you for your addition in {}!'.format(settings.SHORT_SITE_NAME), \
                    "Thank you for your resource registration. We'll include it shortly if not yet and appropriate.\n\n", \
                    settings.DEFAULT_FROM_EMAIL,
                    [email], \
                    fail_silently=False)

    except:
        pass
utils.py 文件源码 项目:simple-django-login-and-register 作者: egorsmkv 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def send_activation_email(request, user):
    subject = _('Profile Activation')

    from_email = settings.DEFAULT_FROM_EMAIL
    current_site = get_current_site(request)
    domain = current_site.domain
    code = get_random_string(20)

    context = {
        'domain': domain,
        'code': code,
    }

    act = Activation()
    act.code = code
    act.user = user
    act.save()

    html_content = render_to_string('email/activation_profile.html', context=context, request=request)
    text_content = strip_tags(html_content)

    msg = EmailMultiAlternatives(subject, text_content, from_email, [user.email])
    msg.attach_alternative(html_content, 'text/html')
    msg.send()
utils.py 文件源码 项目:simple-django-login-and-register 作者: egorsmkv 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def send_activation_change_email(request, user, new_email):
    subject = _('Change email')

    from_email = settings.DEFAULT_FROM_EMAIL
    current_site = get_current_site(request)
    domain = current_site.domain
    code = get_random_string(20)

    context = {
        'domain': domain,
        'code': code,
    }

    act = Activation()
    act.code = code
    act.user = user
    act.email = new_email
    act.save()

    html_content = render_to_string('email/change_email.html', context=context, request=request)
    text_content = strip_tags(html_content)

    msg = EmailMultiAlternatives(subject, text_content, from_email, [user.email])
    msg.attach_alternative(html_content, 'text/html')
    msg.send()
utils.py 文件源码 项目:simple-django-login-and-register 作者: egorsmkv 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def send_reset_password_email(request, user):
    from_email = settings.DEFAULT_FROM_EMAIL
    current_site = get_current_site(request)
    site_name = current_site.name
    domain = current_site.domain

    token_generator = default_token_generator
    use_https = request.is_secure()

    context = {
        'email': user.email,
        'domain': domain,
        'site_name': site_name,
        'uid': urlsafe_base64_encode(force_bytes(user.pk)).decode(),
        'user': user,
        'token': token_generator.make_token(user),
        'protocol': 'https' if use_https else 'http',
    }

    subject = loader.render_to_string('registration/password_reset_subject.txt', context)
    subject = ''.join(subject.splitlines())
    body = loader.render_to_string('registration/password_reset_email.html', context)

    email_message = EmailMultiAlternatives(subject, body, from_email, [user.email])
    email_message.send()
views.py 文件源码 项目:SaBoT 作者: froscon 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def change_notification(self, changed_fields):
        if len(changed_fields) == 0:
            return
        change_dict = {}
        for field in changed_fields:
            field_name = self.object.fieldDescriptionalNames.get(field,field)
            change_dict[field_name] = getattr(self.object,field)

        ctx_dict = {
            "sponsor" : self.object,
            "change_dict" : change_dict,
            "user" : self.request.user,
        }
        subject = "Sponsor information change notification"
        message = render_to_string('sponsor/change_notification_email.txt', ctx_dict)
        send_mail(subject,message,settings.DEFAULT_FROM_EMAIL,settings.SPONSOR_NOTIFICATION,fail_silently=True)

        if "clearedForBilling" in changed_fields and self.object.clearedForBilling == True:
            subject = "Sponsoring ready for billing"
            message = render_to_string('sponsor/ready_for_billing_notification_email.txt', ctx_dict)
            send_mail(subject,message,settings.DEFAULT_FROM_EMAIL,settings.FINANCE_EMAIL,fail_silently=True)
views.py 文件源码 项目:SaBoT 作者: froscon 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def send_info_email(self, user):
        profile = RegistrationProfile.objects.get(user=user)
        site = Site.objects.get_current()

        ctx_dict = {'activation_key': profile.activation_key,
            'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS,
            'install_main_url' : settings.INSTALL_MAIN_URL,
            'conference_name' : settings.CONFERENCE_NAME,
            'site': site,
            'project' : self.object,
            'user' : user}
        subject = render_to_string('registration/activation_email_autocreate_subject.txt', ctx_dict)
        # Email subject *must not* contain newlines
        subject = ''.join(subject.splitlines())

        message = render_to_string('registration/activation_email_autocreate.txt', ctx_dict)

        user.email_user(subject, message, settings.DEFAULT_FROM_EMAIL)
views.py 文件源码 项目:ecs 作者: ecs-org 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def send_protocol(request, meeting_pk=None):
    meeting = get_object_or_404(Meeting, ended__isnull=False,
        protocol_sent_at=None, pk=meeting_pk)

    meeting.protocol_sent_at = timezone.now()
    meeting.save()

    protocol_pdf = meeting.protocol.retrieve_raw().read()
    attachments = (
        (meeting.protocol.original_file_name, protocol_pdf, 'application/pdf'),
    )

    for user in User.objects.filter(Q(meeting_participations__entry__meeting=meeting) | Q(groups__name__in=settings.ECS_MEETING_PROTOCOL_RECEIVER_GROUPS)).distinct():
        htmlmail = str(render_html(request, 'meetings/messages/protocol.html', {'meeting': meeting, 'recipient': user}))
        deliver(user.email, subject=_('Meeting Protocol'), message=None,
            message_html=htmlmail, from_email=settings.DEFAULT_FROM_EMAIL,
            attachments=attachments)

    return redirect('ecs.meetings.views.meeting_details', meeting_pk=meeting.pk)
views.py 文件源码 项目:ecs 作者: ecs-org 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def register(request):
    form = RegistrationForm(request.POST or None)
    if form.is_valid():
        token = _registration_token_factory.generate_token(form.cleaned_data)
        activation_url = request.build_absolute_uri(reverse('ecs.users.views.activate', kwargs={'token': token}))        
        htmlmail = str(render_html(request, 'users/registration/activation_email.html', {
            'activation_url': activation_url,
            'form': form,
        }))
        deliver(form.cleaned_data['email'], subject=_('ECS - Registration'), message=None, message_html=htmlmail,
            from_email= settings.DEFAULT_FROM_EMAIL, nofilter=True)
        return render(request, 'users/registration/registration_complete.html', {})

    return render(request, 'users/registration/registration_form.html', {
        'form': form,
    })
views.py 文件源码 项目:festcms 作者: NITDgpOS 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def subscribe(request):
    context = {}

    if request.method == 'POST':
        form = SubscriptionForm(request.POST)
        to_addr = request.POST.get('contact_email', '')
        if Subscription.objects.filter(contact_email=to_addr).count():
            context['result'] = ('Your email: %s has already'
                                 ' been subscribed.' % to_addr)
        elif form.is_valid():
            form.save()
            send_subscription_success(
                from_addr=settings.DEFAULT_FROM_EMAIL,
                to_addr=to_addr,
                template='subscribed_email',)
            context['result'] = ('Your email: %s is successfully'
                                 ' subscribed.' % to_addr)
    else:
        form = SubscriptionForm
        context['subscription_form'] = form
        id = request.GET.get('unsubscribe', '')
        if len(id) != 0:
            context['unsubscribe'] = unsubscribe(id)

    return render(request, 'festflow/subscribe.html', context)
admin.py 文件源码 项目:festcms 作者: NITDgpOS 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def send_email(modeladmin, request, queryset):
    our_email = settings.DEFAULT_FROM_EMAIL
    users = Subscription.objects.all()
    recipients = [user.contact_email for user in users]
    messages = []
    site = get_current_site(request)
    template = get_template('festflow/newsletter.html')
    for user in users:
        for newsletter in queryset:
            content = template.render({
                'newsletter': newsletter.content,
                'url': 'http://%s/subscribe?unsubscribe=%s' % (
                    site, user.identifier),
            })
            messages.append((
                "Newsletter",
                content,
                our_email,
                recipients))

    send_mass_mail(messages, fail_silently=False)
views.py 文件源码 项目:django-simple-forum 作者: MicroPyramid 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def form_valid(self, form):
        user = User.objects.filter(email=self.request.POST.get('email'))
        if user:
            user = user[0]
            subject = "Password Reset"
            password = get_random_string(6)
            message = '<p>Your Password for the forum account is <strong>'+password + \
                '</strong></p><br/><p>Use this credentials to login into <a href="' + \
                settings.HOST_URL + '/forum/">forum</a></p>'
            to = user.email
            from_email = settings.DEFAULT_FROM_EMAIL
            Memail([to], from_email, subject, message, email_template_name=None, context=None)
            user.set_password(password)
            user.save()
            data = {
                "error": False, "response": "An Email is sent to the entered email id"}
            return JsonResponse(data)
        else:
            data = {
                "error": True, "message": "User With this email id doesn't exists!!!"}
            return JsonResponse(data)
views.py 文件源码 项目:knowledge-base 作者: Axiacore 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def form_valid(self, form):
        email = form.cleaned_data['email']
        user = User.objects.get(username=email)
        safe = URLSafeTimedSerializer(settings.SECRET_KEY)
        url = '{site}{path}?key={key}'.format(
            site=settings.SITE_URL,
            path=reverse('login'),
            key=safe.dumps(user.id),
        )

        send_mail(
            _('Link to login into the Knowledge Base'),
            url,
            settings.DEFAULT_FROM_EMAIL,
            [email],
            fail_silently=False,
            html_message=render_to_string(
                'login_email.html', {'url': url}
            ),
        )

        return redirect('home')
views.py 文件源码 项目:securethenews 作者: freedomofpress 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def send_confirmation_email(request, pledge):
    assert not pledge.confirmed, "{} is already confirmed"

    subject = "Confirm your pledge to secure your site"

    confirmation_link = request.build_absolute_uri("{}?{}".format(
        reverse('pledges:confirm', kwargs={'pk': pledge.pk}),
        urlencode({'nonce': pledge.confirmation_nonce})
    ))

    message = render_to_string('pledges/emails/confirmation.txt', {
        'confirmation_link': confirmation_link
    })

    send_mail(
        subject=subject,
        message=message,
        from_email=settings.DEFAULT_FROM_EMAIL,
        recipient_list=[pledge.contact_email, ]
    )
emails.py 文件源码 项目:bluebutton-web-server 作者: CMSgov 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def notify_admin_of_invite_request(request_invite):
    plaintext = get_template('email-invite-request-received.txt')
    htmly = get_template('email-invite-request-received.html')
    context = {"APPLICATION_TITLE": settings.APPLICATION_TITLE,
               "EMAIL": request_invite.email,
               "FIRST_NAME": request_invite.first_name,
               "LAST_NAME": request_invite.last_name,
               "USER_TYPE": request_invite.user_type
               }
    subject = '[%s] Request for %s access from : %s %s' % (settings.APPLICATION_TITLE,
                                                           request_invite.user_type,
                                                           request_invite.first_name,
                                                           request_invite.last_name)
    from_email = settings.DEFAULT_FROM_EMAIL
    if settings.DEFAULT_FROM_EMAIL == settings.DEFAULT_ADMIN_EMAIL:
        to_email = [settings.DEFAULT_ADMIN_EMAIL]
    else:
        to_email = [settings.DEFAULT_ADMIN_EMAIL, settings.DEFAULT_FROM_EMAIL]
    text_content = plaintext.render(context)
    html_content = htmly.render(context)
    msg = EmailMultiAlternatives(subject, text_content, from_email, to_email)
    msg.attach_alternative(html_content, "text/html")
    msg.send()
emails.py 文件源码 项目:bluebutton-web-server 作者: CMSgov 项目源码 文件源码 阅读 33 收藏 0 点赞 0 评论 0
def send_invite_to_create_account(invitation):
    plaintext = get_template('email-invite.txt')
    htmly = get_template('email-invite.html')
    context = {"APPLICATION_TITLE": settings.APPLICATION_TITLE,
               "CODE": invitation.code,
               "URL": invitation.url(),
               "EMAIL": invitation.email,
               }

    subject = '[%s] Invitation Code: %s' % (settings.APPLICATION_TITLE,
                                            invitation.code)
    from_email = settings.DEFAULT_FROM_EMAIL
    to_email = invitation.email
    text_content = plaintext.render(context)
    html_content = htmly.render(context)
    msg = EmailMultiAlternatives(
        subject, text_content, from_email, [
            to_email, ])
    msg.attach_alternative(html_content, "text/html")
    msg.send()


问题


面经


文章

微信
公众号

扫码关注公众号