thirdparty/google_appengine/google/appengine/ext/admin/templates/inboundmail.html
Added GradingSurveyGroup update to the Module Conversion.
{% extends "base.html" %}
{% block title %}{{ application_name }} Development Console - Inbound Mail{% endblock %}
{% block breadcrumbs %}
<span class="item"><a href="">Email</a></span>
{% endblock %}
{% block head %}
<style type="text/css">{% include "css/inboundmail.css" %}</style>
<script type="text/javascript">
{% include "js/webhook.js" %}
{% include "js/multipart_form_data.js" %}
{% include "js/rfc822_date.js" %}
var feedbackEl;
var formEl;
var payloadEl;
var fromEl;
var toEl;
var ccEl;
var subjectEl;
var bodyEl;
var contentLengthEl;
//var contentTypeEl;
var sendInboundMailWebhook = function() {
if (!feedbackEl) {
feedbackEl = document.getElementById('feedback');
formEl = document.getElementById('inboundmail-form');
fromEl = document.getElementById('from');
toEl = document.getElementById('to');
ccEl = document.getElementById('cc');
subjectEl = document.getElementById('subject');
bodyEl = document.getElementById('body');
payloadEl = document.getElementById('payload');
contentLengthEl = document.getElementById('content-length');
}
var from = fromEl.value;
var to = toEl.value;
var cc = ccEl.value;
var subject = subjectEl.value;
var body = bodyEl.value;
if (!to || !from || !body) {
feedbackEl.className = 'ae-errorbox';
feedbackEl.innerHTML = 'From, To and Message body are required.';
return;
}
feedbackEl.className = 'ae-message';
feedbackEl.innerHTML = 'Sending mail message...';
var mpfd = new MultipartFormData();
mpfd.addHeader('MIME-Version', '1.0');
mpfd.addHeader('Date', RFC822Date.format(new Date()));
mpfd.addHeader('From', from);
mpfd.addHeader('To', to);
if (cc) {
mpfd.addHeader('Cc', cc);
}
mpfd.addHeader('Subject', subject);
mpfd.addHeader('Content-Type', 'multipart/alternative; ' +
'boundary=' + mpfd.boundary);
mpfd.addPart(null, body, 'text/plain; charset=UTF-8');
mpfd.addPart(null, body, 'text/html; charset=UTF-8');
payloadEl.value = mpfd.toString();
contentLengthEl = payloadEl.value.length;
formEl.action = '/_ah/mail/' + escape(to);
(new Webhook('inboundmail-form')).run(handleInboundMailResult);
// Prevents actual form posts.
return false;
};
var handleInboundMailResult = function(hook, req, error) {
if (error != null || req == null || req.status != 200) {
feedbackEl.className = 'ae-errorbox';
feedbackEl.innerHTML = 'Message send failure<br>' +
req.responseText;
} else {
var timestamp;
var dateString = new Date().toString();
var match = dateString.match(/(\d\d:\d\d:\d\d).+\((.+)\)/);
if (!match || !match[0] || !match[2]) {
timestamp = dateString;
} else {
timestamp = match[1] + ' ' + match[2];
}
feedbackEl.className = 'ae-message';
feedbackEl.innerHTML = 'Message has been sent at ' + timestamp;
}
};
</script>
{% endblock %}
{% block body %}
<div id="inboundmail">
<h3>Email</h3>
{% if inboundmail_configured %}{% else %}
<div class="ae-errorbox">
Inbound mail is not yet configured properly in your app.yaml in the services section.
</div>
{% endif %}
<div id="feedback"></div>
<form id="inboundmail-form"
action="/_ah/mail/" method="post"
onsubmit="sendInboundMailWebhook(); return false">
<input type="hidden" name="payload" id="payload">
<input type="hidden" id="content-type" name="header:Content-Type" value="message/rfc822">
<input type="hidden" id="content-length" name="header:Content-Length">
<div class="fieldset">
<label for="from">From:</label>
<input type="text" id="from" name="from" size="40">
</div>
<div class="fieldset">
<label for="to">To:</label>
<input type="text" id="to" name="to" size="40">
</div>
<div class="fieldset">
<label for="cc">Cc:</label>
<input type="text" id="cc" name="cc" size="40">
</div>
<div class="fieldset">
<label for="subject">Subject:</label>
<input type="text" id="subject" name="subject" size="40">
</div>
<div id="body-c" class="fieldset">
<label for="body">Message body (plain text):</label>
<textarea id="body" name="body" rows="10" cols="50"></textarea>
</div>
<div id="inboundmail-submit">
<input type="submit" value="Send Email">
</div>
</form>
</div>
{% endblock %}
{% block final %}
{% endblock %}