Class SendEmail

  • All Implemented Interfaces:
    AdditionalInformationHandler, CleanUpHandler, Destroyable, GlobalInfoSupporter, LoggingLevelHandler, LoggingSupporter, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<Actor>, SizeOfHandler, Stoppable, StoppableWithFeedback, VariablesInspectionHandler, VariableChangeListener, Actor, ErrorHandler, InputConsumer, Serializable, Comparable

    public class SendEmail
    extends AbstractSink
    Actor for sending emails. The (optional) attachments are taken from the input.
    Variables in 'subject', 'body' and 'signature' are automatically replaced whenever the actor is executed.


    Valid options are:

    -D <int> (property: debugLevel)
        The greater the number the more additional info the scheme may output to 
        the console (0 = off).
        default: 0
        minimum: 0
     
    -name <java.lang.String> (property: name)
        The name of the actor.
        default: Email
     
    -annotation <adams.core.base.BaseText> (property: annotations)
        The annotations to attach to this actor.
        default: 
     
    -skip (property: skip)
        If set to true, transformation is skipped and the input token is just forwarded 
        as it is.
     
    -stop-flow-on-error (property: stopFlowOnError)
        If set to true, the flow gets stopped in case this actor encounters an error;
         useful for critical actors.
     
    -sender <adams.core.net.EmailAddress> (property: sender)
        The sender address to use.
     
    -recipient <adams.core.net.EmailAddress> [-recipient ...] (property: recipients)
        The recipients to send the email to.
        default: 
     
    -cc <adams.core.net.EmailAddress> [-cc ...] (property: CC)
        The CC recipients to send the email to.
        default: 
     
    -bcc <adams.core.net.EmailAddress> [-bcc ...] (property: BCC)
        The BCC recipients to send the email to.
        default: 
     
    -subject <java.lang.String> (property: subject)
        The subject of the email.
        default: 
     
    -body <adams.core.base.BaseText> (property: body)
        The body of the email.
        default: 
     
    -signature <adams.core.base.BaseText> (property: signature)
        The signature of the email, gets separated by an extra line consisting of 
        '--'.
        default: Peter Reutemann, Dept. of Computer Science, University of Waikato, NZ\\nhttp://www.cms.waikato.ac.nz/~fracpete/          Ph. +64 (7) 858-5174
     
    -send-email <adams.core.net.AbstractSendEmail> (property: sendEmail)
        The engine for sending the emails.
        default: adams.core.net.JavaMailSendEmail
     
    -queue (property: queue)
        Whether to queue the emails rather than waiting for them to be sent.
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_Queue

        protected boolean m_Queue
        whether to queue the emails rather than waiting for sending to finish.
      • m_Sending

        protected List<SwingWorker> m_Sending
        the emails still to send.
    • Constructor Detail

      • SendEmail

        public SendEmail()
    • Method Detail

      • setSendEmail

        public void setSendEmail​(AbstractSendEmail value)
        Sets the object for sending emails.
        Parameters:
        value - the object
      • getSendEmail

        public AbstractSendEmail getSendEmail()
        Returns the object for sending emails.
        Returns:
        the object
      • sendEmailTipText

        public String sendEmailTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setQueue

        public void setQueue​(boolean value)
        Sets whether to queue the emails rather than waiting for each to be sent.
        Parameters:
        value - true if to queue
      • getQueue

        public boolean getQueue()
        Returns whether the emails are queue rather than being waited on.
        Returns:
        true if to queue
      • queueTipText

        public String queueTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • accepts

        public Class[] accepts()
        Returns the class that the consumer accepts.
        Returns:
        java.lang.String.class, java.lang.String[].class, java.io.File.class, java.io.File[].class
      • initSession

        protected void initSession()
                            throws Exception
        Initializes the SMTP session if required.
        Throws:
        Exception - if initialization fails
      • doExecute

        protected String doExecute()
        Executes the flow item.
        Specified by:
        doExecute in class AbstractActor
        Returns:
        null if everything is fine, otherwise error message
      • wrapUp

        public void wrapUp()
        Cleans up after the execution has finished.
        Specified by:
        wrapUp in interface Actor
        Overrides:
        wrapUp in class AbstractSink