def get_send_mail_return_value(self, *args, **kwargs): subject = kwargs.get('subject', '') from_email = kwargs.get('from_email', settings.MAIL_FROM_EMAIL) bcc = kwargs.get('bcc') cc = kwargs.get('cc') reply_to = kwargs.get('reply_to', []) files_attachment = kwargs.get('attachments', []) mail = EmailMessage( subject=subject, bcc=bcc, cc=cc, body=str(kwargs), from_email=from_email, to=kwargs.get('recipients'), reply_to=reply_to, ) mail.content_subtype = 'html' for file_tmp in files_attachment: if isinstance(file_tmp, MIMEBase): mail.attach(file_tmp) else: try: mail.attach(file_tmp.name, file_tmp.read(), file_tmp.content_type) except: # noqa mail.attach_file(file_tmp) mail.send()
def send_email_to_members(request): if request.method == 'POST': form = SendMessageForm(request.POST or None) if form.is_valid(): subject = form.cleaned_data["subject"] message_text = form.cleaned_data["message"] user = User.objects.filter(is_active=True, church=request.user.church, groups__name="Member") emailto = [user.email for user in user] from_email = settings.DEFAULT_FROM_EMAIL chunks = divide_chunks(emailto, 50) for chunk in chunks: n = 50 mail = EmailMultiAlternatives(subject, message_text, from_email, [], bcc=chunk) mail.send() return redirect('/') else: return HttpResponse( 'Something went wrong. Please click Back on your browser to try again.' ) else: form = SendMessageForm() template_name = "form.html" context = {"form": form, "title": "Email all Members"} return render(request, template_name, context)
def activate_prayer_circle(request): if request.method == 'POST': form = PrayerCircleForm(request.POST or None) if form.is_valid(): prayer = form.cleaned_data["prayer"] subject = "Please Start the Prayer Circle" church = request.user.church user = User.objects.filter(church=church) #Course.objects.filter( course_teacher__email__contains=request.user.email): emailto = [user.email for user in user] mail = EmailMessage( subject="Please Start the Prayer Circle", body=prayer, from_email='*****@*****.**', to=emailto, ) mail.send(fail_silently=False) return redirect('/') else: return HttpResponse( 'Something went wrong. Please click Back on your browser to try again.' ) else: form = PrayerCircleForm() template_name = "form.html" context = {"form": form, "title": "Activate Church Prayer Circle"} return render(request, template_name, context)
def dashboard_old(request, **kwargs): user = request.user user_detail = UserDetails.objects.get_or_create(user=user) user_detail = user_detail[0] if user_detail.user_type == "Tutor": return redirect("tutor-dashboard") details = Orders.objects.filter(user=user) labs = LabOrders.objects.filter(user=user) if request.method == 'POST': desc = request.POST.get('desc') reference_material = request.FILES['reference_material'] assignment = request.FILES['assignment'] deadline = request.POST.get('deadline') subject = request.POST.get('subject') order = Orders(user=user, status='Awaiting Confirmation', desc=desc, reference_material=reference_material, assignment=assignment, deadline=deadline, subject=subject) order.save() id = order.pk id += 1000 order.order_id = f'TC-HW-{id}' order.save() print("Order successful, order id : {}".format(order.order_id)) send_message(request, "Order successful, order id : {}".format(order.order_id)) c = { 'user': user.username, 'order_id': order.order_id, 'subject': order.subject, 'deadline': deadline, } email = user.email order_id = order.order_id email_msg = render_to_string('order.txt', c) mail = EmailMessage( subject=f'Order Created - {order_id}', body=email_msg, from_email='TutorChamps Student Support <*****@*****.**>', to=[email, '*****@*****.**']) mail.send() serializers = OrderSerializers(order) return JsonResponse(serializers.data) print(details) _context = { 'details': details, 'user': user, 'user_detail': user_detail, 'labs': labs, 'ordered': False } if "order" in kwargs.keys(): if kwargs["order"] == "order-successful": _context["ordered"] = True print(_context["ordered"]) return render(request, 'dash_board.html', _context)
def send_async_email(email_data): """Background task to send an email with Flask-Mail.""" msg = Message(email_data['subject'], sender=app.config['MAIL_DEFAULT_SENDER'], recipients=[email_data['to']]) msg.body = email_data['body'] with app.app_context(): mail.send(msg)
def forgotpassword_template(): form = ForgotForm(request.form) if form.validate_on_submit(): msg = Message('Reset your password with the link below: ', recipients=[form.email]) mail.send(msg) return render_template("forgotpassword_template.html", name=session.get('name'), username=session.get('username'), form=form)
def form_valid(self, form): data = form.cleaned_data subject = "Contact Form Message" message = """ From: %s Phone: %s Message: %s"""%(data['name'],data['phone'], data['message']) recp = ['*****@*****.**', '*****@*****.**', '*****@*****.**'] sender = "*****@*****.**" send(subject,message,sender,recp) return super(ContactPage, self).form_valid(form)
def mail_owner(self, project, subject, message, fail_silently=False, connection=None, html_message=None): """Sends a message to the admins, as defined by the ADMINS setting.""" if not settings.ADMINS: return mail = EmailMultiAlternatives('%s%s' % (settings.EMAIL_SUBJECT_PREFIX, subject), message, settings.SERVER_EMAIL, [project.owner.email], connection=connection) if html_message: mail.attach_alternative(html_message, 'text/html') mail.send(fail_silently=fail_silently)
def new_function(*args): self = args[0] caller = 'TODO' try: original_function(*args) except Exception, e: mail = django.core.mail.EmailMessage('Test failed: {callingclass} - {caller}'.format( caller=caller, callingclass=self.__class__.__name__ ), 'Test has failed at {0}'.format(datetime.datetime.now().isoformat()), '*****@*****.**', django.conf.settings.E2E_TESTS['RECIPIENTS']) if self._path_to_image: with open(self._path_to_image, 'r') as f: mail.attach('error.png', f.read(), 'image/png') mail.send() raise e
def send_mail(subject, template, recipients, context={}): if not isinstance(recipients, (list, tuple)): recipients = (recipients,) html = get_template(template).render(context={ 'subject': subject, 'recipients': recipients, **context }) send(subject, '', settings.DEFAULT_FROM_EMAIL, recipients, html_message=html)
def form_valid(self, form): evnt = form.save(commit=False) evnt.confirmed = False evnt.save() subject = "Event \"%s\" Submitted"%evnt.name message = """ View/edit this event at http://menomnom.com/admin/events/event/%s/ """%(evnt.id) recp = ['*****@*****.**', '*****@*****.**', '*****@*****.**'] sender = "*****@*****.**" send(subject,message,sender,recp) return super(SubmitEventPage, self).form_valid(form)
def form_valid(self, form): data = form.cleaned_data user = User.objects.get(email=data['email']) try: pr = models.PasswordReset.objects.get(user=user) except models.PasswordReset.DoesNotExist: pr = models.PasswordReset(user=user) pr.save() message = "Your password can be reset at: %s"%("http://menomnom.com/forgot/"+pr.slug+"/") send("Menomnom | Password reset", message=message, from_email="*****@*****.**", recipient_list=[data['email']] ) return super(PasswordReset, self).form_valid(form)
def send_mail(to=[], subject='', html_template='', txt_template='', context={}, from_email=settings.DEFAULT_FROM_EMAIL): """Send mail to the all contacts """ from django.core import mail from django.core.mail import EmailMultiAlternatives from django.template.loader import render_to_string _to = to context.update({ 'SITE_URL': settings.SITE_URL, }) text = render_to_string(txt_template, context) html = render_to_string(html_template, context) result = None with mail.get_connection() as connection: mail = EmailMultiAlternatives( subject=subject, body=text, from_email=from_email, to=_to, connection=connection, ) mail.attach_alternative(html, "text/html") result = mail.send(fail_silently=True) return result
def labordes(request): user = request.user uname = user.username user = User.objects.get(username=uname) user_detail = UserDetails.objects.get_or_create(user=user) user_detail = user_detail[0] if request.method == 'POST': lab_manual = request.FILES['lab_manual'] report_guidline = request.FILES['report_guideline'] lab_data = request.FILES['lab_data'] reference_material = request.FILES['reference_material'] deadline = request.POST.get('deadline') subject = request.POST.get('subject') lab = LabOrders(user=user, reference_material=reference_material, deadline=deadline, subject=subject, lab_manual=lab_manual, report_guidline=report_guidline, lab_data=lab_data, status='Awaiting Confirmation', assigned=False) lab.save() id = lab.pk id += 1000 lab.order_id = f'TC-lab-{id}' lab.save() c = { 'user': user.username, 'order_id': lab.order_id, 'subject': lab.subject, 'deadline': deadline, } email = user.email order_id = lab.order_id email_msg = render_to_string('order.txt', c) mail = EmailMessage( subject=f'Order Created - {order_id}', body=email_msg, from_email='TutorChamps Student Support <*****@*****.**>', to=[email, '*****@*****.**']) mail.send() serializers = LabSerializers(lab) return JsonResponse(serializers.data)
def live_session_orders(request): user = request.user user_detail = UserDetails.objects.get_or_create(user=user) user_detail = user_detail[0] if request.method == 'POST': desc = request.POST.get('desc') assignment = request.FILES['assignment'] deadline = request.POST.get('deadline') duration = request.POST.get('Duration') subject = request.POST.get('subject') reference_material = request.FILES['reference_material'] order = Orders(user=user, status='Awaiting Confirmation', desc=desc, assignment=assignment, deadline=deadline, subject=subject, duration=duration, reference_material=reference_material) order.save() id = order.pk id += 1000 order.order_id = f'TC-LS-{id}' order.save() serializers = OrderSerializers(order) c = { 'user': user.username, 'order_id': order.order_id, 'subject': order.subject, 'deadline': deadline, } email = user.email order_id = order.order_id email_msg = render_to_string('order.txt', c) mail = EmailMessage( subject=f'Order Created - {order_id}', body=email_msg, from_email='TutorChamps Students Support <*****@*****.**>', to=[email, '*****@*****.**']) mail.send() return JsonResponse(serializers.data)
def test_build_base_case(self): # Testing replacement successfuly from user entity body = "Hello {}NAME{}, This is an example of populate body email".format( self.escape, self.escape) mt = MailTemplate.build(MailTemplate, name="template-email1", body=body, sender="Camilo Verdugo <*****@*****.**>", subject="Subject emails") user = User.objects.get(first_name="User1322") mail_fields = { 'sender': mt.sender, 'receptor_to': "User <*****@*****.**>", 'body': mt.body, 'subject': mt.subject } body_args = {'user': user} mail, nf_keys, nf_args = Mail.build(Mail, MailTemplateEntity, None, mail_fields, body_args) self.assertEqual(type(mail), Mail) self.assertEqual( mail.body, "Hello {}, This is an example of populate body email".format( user.first_name)) self.assertEqual(nf_keys, []) self.assertEqual(nf_args, []) # Testing successfull delivery plain mode mail.send() self.assertEqual(type(mail.sent_at), datetime.datetime) # Test no specify receptor_to mail_fields = { 'sender': mt.sender, 'body': mt.body, 'subject': mt.subject } body_args = {'user': user} mail, nf_keys, nf_args = Mail.build(Mail, MailTemplateEntity, None, mail_fields, body_args) self.assertEqual(mail, None)
def contact(): """User can send e-mail via contact form""" if request.method == 'POST': """User sent an email request""" msg = Message("Feedback", recipients=[app.config['MAIL_USERNAME']]) msg.body = "You have received new feedback from {0} {1} <{2}>.\n\n {3}".format( request.form['first-name'], request.form['last-name'], request.form['mail-address'], request.form['comment-field']) try: mail.send(msg) msg = "We will respond as soon as possible." category = "success" except Exception as err: msg = str(err) category = "danger" resp = {'feedback': msg, 'category': category} return make_response(jsonify(resp), 200) elif request.method == 'GET': """User is viewing the page""" return render_template('pages/contact.html')
def save(self,**kwargs): subject = "Location Mistake Report" to_addrs = [i[1] for i in settings.ADMINS] send(subject, self.message, '*****@*****.**', to_addrs) super(LocationMistake, self).save(**kwargs)
def signup(request): if request.user.is_authenticated: return redirect("old-user") data = {} if request.method == 'POST': email = request.POST.get('email') password = request.POST.get('password') try: User.objects.get(email=email) #messages.info(request, 'This email is already registered') data = { 'status': 'error', 'msg': 'This email is already registered' } return JsonResponse(data) except ObjectDoesNotExist: uname = email.replace('@', '_') user = User(username=uname, email=email) user.set_password(password) user.save() staff = User.objects.filter(groups__name='Students Help') room = create_room(staff) room.members.add(user) room.save() user_detail = UserDetails(user=user, user_type="Student") user_detail.save() if request.session.get('session_key'): username = request.session['session_key'] unknown_user = User.objects.get(username=username) try: laborder = LabOrders.objects.get(user=unknown_user) laborder.user = user laborder.save() c = { 'user': user.username, 'order_id': laborder.order_id, 'subject': laborder.subject, 'deadline': laborder.deadline } order_id = laborder.order_id email_msg = render_to_string('order.txt', c) mail = EmailMessage( subject=f'Order Created - {order_id}', body=email_msg, from_email= 'TutorChamps Student Support <*****@*****.**>', to=[email, '*****@*****.**']) mail.send() except: order = Orders.objects.get(user=unknown_user) order.user = user order.save() c = { 'user': user.username, 'order_id': order.order_id, 'subject': order.subject, 'deadline': order.deadline } order_id = order.order_id print(order.deadline) email_msg = render_to_string('order.txt', c) mail = EmailMessage( subject=f'Order Created - {order_id}', body=email_msg, from_email= 'TutorChamps Student Support <*****@*****.**>', to=[email, '*****@*****.**']) mail.send() finally: unknown_user.delete() del request.session['session_key'] #messages.success(request, 'you have registered successfully') usr = authenticate(username=uname, password=password) login(request, usr) data = {'status': 'ok', 'msg': 'User created successfully'} print("Order successful, order id : {}".format( order.order_id)) send_message( request, "Order successful, order id : {}".format(order_id)) data['order'] = "YES" #return redirect('new-user-ordered', order="order-successful") return JsonResponse(data) else: #messages.success(request, 'you have registered successfully') usr = authenticate(username=uname, password=password) login(request, usr) data = {'status': 'ok', 'msg': 'User created successfully'} c = {'user': user.username} email_msg = render_to_string('signup.txt', c) mail = EmailMessage( subject='Welcome to TutorChamps', body=email_msg, from_email= 'TutorChamps Student Support <*****@*****.**>', to=[email]) mail.send() return JsonResponse(data) print(usr) print("here2") return render(request, 'signup.html', data)
def send_mail(email_to, subject, content): try: snd = send(subject, content, '*****@*****.**', email_to) except SMTPRecipientsRefused: snd = 0 return snd
def signin(request): if request.method == "POST": email = request.POST.get('email') email = email.lower() password = request.POST.get('password') uname = email.replace('@', '_') print(uname) user = authenticate(username=uname, password=password) if user: new_user = User.objects.get(username=uname) #userdetail = UserDetails.objects.get(user=new_user) #if userdetail.user_type=="Student": if user.is_active: login(request, user) user = request.user detail = UserDetails.objects.get_or_create(user=user) if request.session.get('session_key'): username = request.session['session_key'] unknown_user = User.objects.get(username=username) try: laborder = LabOrders.objects.get(user=unknown_user) laborder.user = user id = laborder.pk id += 1000 laborder.order_id = f'TC-lab-{id}' laborder.save() c = { 'user': user.username, 'order_id': laborder.order_id, 'subject': laborder.subject, 'deadline': laborder.deadline, } order_id = laborder.order_id email_msg = render_to_string('order.txt', c) mail = EmailMessage( subject=f'Order Created - {order_id}', body=email_msg, from_email= 'TutorChamps Student Support <*****@*****.**>', to=[email, '*****@*****.**']) mail.send() except: order = Orders.objects.get(user=unknown_user) order.user = user order.save() c = { 'user': user.username, 'order_id': order.order_id, 'subject': order.subject, 'deadline': order.deadline, } order_id = order.order_id email_msg = render_to_string('order.txt', c) mail = EmailMessage( subject=f'Order Created - {order_id}', body=email_msg, from_email= 'TutorChamps Student Support <*****@*****.**>', to=[email, '*****@*****.**']) mail.send() unknown_user.delete() del request.session['session_key'] messages.success(request, f"Welcome Back {email}") return redirect('old-user') else: data = { 'status': 'error', 'msg': 'Your Account has been deactivated' } return JsonResponse(data) #else: # data = {"status":"error","msg":"Not Allowed"} # return JsonResponse(data) else: print('no user') data = {'status': 'error', 'msg': "Invalid email or password"} return JsonResponse(data) return render(request, 'login.html')