<bigwig> service: email
service {
format Word = plus ( union(range('A', 'z'), range('0', '9')) );
format Email = concat(Word, "@", Word, star(concat(".", Word)));
html EnterMail = <html>
<h1>Send an email</h1>
<hr>
<pre>
To: <input type=text name="To">
From: <input type=text name="From">
Subject: <input type=text name="Subject">
<textarea name="Content" rows=10 cols=60></textarea>
</pre>
<continue type=button value=true>Send</continue>
<continue type=button value=false ignoreformats>Cancel</continue>
<format field="To" help="Please enter valid email address" warning="Invalid email address"><bigwig-regexp idref="Email"/></format>
<format field="From" help="Please enter valid email address" warning="Invalid email address"><bigwig-regexp idref="Email"/></format>
</html>;
void email(string To, string From, string Subject, string Content) {
sendmail(relation { tuple { name="To", value=To },
tuple { name="From", value=From },
tuple { name="Subject", value=Subject } }, Content);
}
session SendEmail() {
bool send;
string To, From, Subject, Content;
show EnterMail receive [To, From, Subject, Content, send=continue];
if (send) {
email(To, From, Subject, Content);
exit <html><h1>Mail sent!</h1></html>;
}
else {
exit <html><h1>Mail not sent</h1></html>;
}
}
}