1 let nodemailer = require('nodemailer')
2 let XDate = require('xdate')
5 let post_request = await _require('/_lib/post_request.jst')
6 let get_session = await _require('/_lib/get_session.jst')
12 async (page, message) => {
13 // coerce and/or validate
14 page = page.slice(0, 256)
15 mesage = message.slice(0, 65536)
16 if (page.length === 0 || message.length === 0)
19 'Minimum length check failed',
23 let transaction = await env.site.database.Transaction()
24 let nodemailer_feedback, feedback_from, feedback_to
26 // initialize env.session_key, set cookie in env.response
27 await get_session(env, transaction)
29 nodemailer_feedback = nodemailer.createTransport(
32 await transaction.get({})
34 ).get_json('feedback')
36 let globals = await get_globals(env, transaction)
37 feedback_from = await globals.get_json('feedback_from')
38 feedback_to = await globals.get_json('feedback_to')
40 await transaction.commit()
43 transaction.rollback()
47 await nodemailer_feedback.sendMail(
51 subject: 'Page: ' + page,