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 let root = await transaction.get({})
30 nodemailer_feedback = nodemailer.createTransport(
31 await (await root.get('nodemailer')).get_json('feedback')
33 let globals = await root.get('globals')
34 feedback_from = await globals.get_json('feedback_from')
35 feedback_to = await globals.get_json('feedback_to')
37 await transaction.commit()
40 transaction.rollback()
44 await nodemailer_feedback.sendMail(
48 subject: 'Page: ' + page,