def do_email_students(self): log.debug(str(request.params)) user = h.get_user(request.environ) student_ids_str = request.params['student_ids'] student_ids = ah.fileset_id_string_to_id_list(student_ids_str) students = Student.query.filter(Student.id.in_(student_ids)).all() students = filter(lambda student: request.params.has_key(str(student.id)), students) for student in students: check_student_access(student) subject = request.params['subject'] body = request.params['body'] from_addr = (user.givenName+" "+user.surName,user.name + '@illinois.edu') reply_to = user.name + '@illinois.edu' to_addrs = map(lambda student: (student.displayName, student.netid + "@illinois.edu"), students) from turbomail import Message message = Message() message.subject = subject message.plain = body message.author = from_addr message.reply_to = reply_to message.to = to_addrs message.cc = from_addr message.send() if request.params.has_key('assignment_id'): return redirect_to(controller='view_analysis', action='view', id=request.params['assignment_id']) else: return redirect_to(controller='view_analysis', action='list')
def send(to, template_path, context=None, reply_to='', bcc='*****@*****.**'): """ Send message based on a mako template. The recipient is automatically added to the context_dict that gets fed to the template. """ t = EMAIL_TEMPLATE_LOOKUP.get_template(template_path) context = context or {} context['url_for'] = absolute_url_for def get_email(u, set_context=True): if isinstance(u, users.User): if set_context: context['user'] = u return u.email return u if isinstance(to, users.User): to = get_email(to) if isinstance(to, (list, tuple)): to = [get_email(u, set_context=False) for u in to] pc = pylons.config subject = t.get_def('subject').render_unicode(**context).strip() body = line_reduce(t.render_unicode(**context).strip()) f = (pc['mail.message.author_name'], pc['mail.message.author']) reroute = pc.get('mail.reroute') if reroute: old_to = to to = reroute lmsg = 'Sending email from %s to %s.' % (f, to) if reroute: lmsg += ' Message was rerouted from %s' % old_to logger.info(lmsg) msg = Message(f, to, subject, plain=body) msg.plain = body msg.bcc = bcc if reply_to: msg.reply_to = reply_to msg.send()
def do_email_students_ajax(self): log.debug(str(request.params)) user = h.get_user(request.environ) student_ids_str = request.params['student_ids'] student_ids = ah.fileset_id_string_to_id_list(student_ids_str) students = Student.query.filter(Student.id.in_(student_ids)).all() students = filter(lambda student: request.params.has_key(str(student.id)), students) for student in students: check_student_access(student) subject = request.params['subject'] body = request.params['body'] from_addr = (user.givenName+" "+user.surName,user.name + '@illinois.edu') reply_to = user.name + '@illinois.edu' to_addrs = map(lambda student: (student.displayName, student.netid + "@illinois.edu"), students) from turbomail import Message message = Message() message.subject = subject message.plain = body message.author = from_addr message.reply_to = reply_to message.to = to_addrs message.cc = from_addr message.send() return "Message Sent Successfully"