cogA quick UI to verify a SMTP setup, that allows to send easily test emails
Developed by

Jerome

Rating
Rate!
0 Votes
LicenseGNU Lesser General Public License 2.1

Description

This is a snippet using the old MailSender plugin which has been superseded by the new Mail Sender API.

Here's an example using the new Mail Sender API (will only work with version 6.2.5+):

{{velocity}}
#set ($message = $services.mailsender.createMessage("[email protected]", "subject"))
#set ($discard = $message.addPart("text/plain", "text content"))
#set ($result = $services.mailsender.send($message))
## Check if the message was created properly and if we have permissions to send emails
#if ($services.mailsender.lastError)
 {{error}}$exceptiontool.getStackTrace($services.mailsender.lastError){{/error}}
#end
## Check if the mail we tried to send has failed to be sent
#set ($statuses = $result.statusResult.getByState('FAILED'))
#if ($statuses.hasNext())
 {{error}}Error: $statuses.next().error{{/error}}
#end
{{/velocity}}

Note that this snippet doesn't store mail status results. If you wish to do that you should use instead:

#set ($result = $services.mailsender.send([$message], 'database'))

Restricted to admins.

{{velocity}}
#if($xwiki.hasAccessLevel('admin'))
#if("$!{request.action}" == 'send_mail' && "$!{request.lastname}" == '')
  ## Check submission and honey pot.
  #if("$!request.recipient" != '' && "$!request.subject" != '')
    #set($result = $xwiki.mailsender.sendTextMessage("[email protected]", $request.recipient, $request.subject, "$!request.message"))
    #if($result == -1)
   {{error}}A problem occurred while sending the mail: $context.error{{/error}}
    #else
   {{info}}Everything went OK.{{/info}}
    #end
  #else
   {{error}}Please specify at least a recipient and a subject{{/error}}
  #end
#end

{{html wiki=true}}
<form action="" method="post">
 <input name="action" value="send_mail" type="hidden" />
  ## this is a honey-pot hidden text field hat hopefully robots will not leave empty
 <div class="hidden">
 <input name="lastname" type="text" />
 </div>
 <fieldset>
    **TO:**<br />
   <input type="text" name="recipient" /><br />
    **SUBJECT:**<br />
   <input type="text" name="subject" /><br />
    **MESSAGE:**<br />
   <textarea name="message" style="width:99%;" rows=10>Your test message here.</textarea>
 </fieldset>
 <div>
   <span class="buttonwrapper"><input type="submit" class="button" value="Send" /></span>
 </div>
</form>
{{/html}}
#else
{{error}}Oops. Area restricted to Admins, sorry.{{/error}}
#end
{{/velocity}}

Prerequisites & Installation Instructions

Copy the code snippet to a page and save it.

Created by JeromeVelociter on 2010/07/07 11:41
     

Get Connected