anchor.diff:      boolean isConfigured();                                         // <4>
   }
   ----
  -<1> is the main API to send the email (and optional attachments). Will return `false` if failed to send
  +<1> is the main API to send the email (and optional attachments).
  +Will return `false` if failed to send
   <2> pass either `null` or `Collections.emptyList()` if not required
   <3> should be HTML text
  -<4> indicates whether the implementation was configured and initialized correctly.  If this returns `false` then any attempt to call `send(...)` will fail.
  +<4> indicates whether the implementation was configured and initialized correctly.
  +If this returns `false` then any attempt to call `send(...)` will fail.
   
   As noted in the introduction, the core framework provides a default implementation (`EmailServiceDefault`) that sends email as an HTML message, using an external SMTP provider.
   
  
positive.code: 
  == Registering the Services
  
  Assuming that the `configuration-and-annotation` services installer is configured (implicit if using the
  `AppManifest` to xref:rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then Apache Isis' core
  implementation of `EmailService` service is automatically registered and injected (it is annotated with
  `@DomainService`) so no further configuration is required.
  
  To use an alternative implementation, use
  xref:rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
  in the xref:rgsvc.adoc#_rgsvc_intro_overriding-the-services[introduction] to this guide).
  
  
  == Related Services
  
negative.code: 
  If you wish to write an alternative implementation, be aware that it should process the message body as HTML (as opposed to plain text or any other format).
  
  Also, note that (unlike most Apache Isis domain services) the implementation is also instantiated and injected by Google Guice.
  This is because `EmailService` is used as part of the xref:ugvw.adoc#_ugvw_features_user-registration[user registration] functionality and is used by Wicket pages that are accessed outside of the usual Apache Isis runtime.
  This implies a couple of additional constraints:
  
  * first, implementation class should also be annotated with `@com.google.inject.Singleton`
  * second, there may not be any Apache Isis session running.
  (If necessary, one can be created on the fly using `IsisContext.doInSession(...)`)
  
  To ensure that your alternative implementation takes the place of the default implementation, register it explicitly in `isis.properties`.
  
  