Class SmtpManager

  • All Implemented Interfaces:
    java.lang.AutoCloseable

    public class SmtpManager
    extends AbstractManager
    Manager for sending SMTP events.
    • Constructor Detail

      • SmtpManager

        protected SmtpManager​(java.lang.String name,
                              javax.mail.Session session,
                              javax.mail.internet.MimeMessage message,
                              SmtpManager.FactoryData data)
    • Method Detail

      • createMimeMessage

        private static javax.mail.internet.MimeMessage createMimeMessage​(SmtpManager.FactoryData data,
                                                                         javax.mail.Session session,
                                                                         LogEvent appendEvent)
                                                                  throws javax.mail.MessagingException
        Throws:
        javax.mail.MessagingException
      • add

        public void add​(LogEvent event)
      • getSmtpManager

        public static SmtpManager getSmtpManager​(Configuration config,
                                                 java.lang.String to,
                                                 java.lang.String cc,
                                                 java.lang.String bcc,
                                                 java.lang.String from,
                                                 java.lang.String replyTo,
                                                 java.lang.String subject,
                                                 java.lang.String protocol,
                                                 java.lang.String host,
                                                 int port,
                                                 java.lang.String username,
                                                 java.lang.String password,
                                                 boolean isDebug,
                                                 java.lang.String filterName,
                                                 int numElements,
                                                 SslConfiguration sslConfiguration)
      • createManagerName

        static java.lang.String createManagerName​(java.lang.String to,
                                                  java.lang.String cc,
                                                  java.lang.String bcc,
                                                  java.lang.String from,
                                                  java.lang.String replyTo,
                                                  java.lang.String subject,
                                                  java.lang.String protocol,
                                                  java.lang.String host,
                                                  int port,
                                                  java.lang.String username,
                                                  boolean isDebug,
                                                  java.lang.String filterName)
        Creates a unique-per-configuration name for an smtp manager using the specified the parameters.
        Using such a name allows us to maintain singletons per unique configurations.
        Returns:
        smtp manager name
      • sendEvents

        public void sendEvents​(Layout<?> layout,
                               LogEvent appendEvent)
        Send the contents of the cyclic buffer as an e-mail message.
        Parameters:
        layout - The layout for formatting the events.
        appendEvent - The event that triggered the send.
      • removeAllBufferedEvents

        LogEvent[] removeAllBufferedEvents()
      • formatContentToBytes

        protected byte[] formatContentToBytes​(LogEvent[] priorEvents,
                                              LogEvent appendEvent,
                                              Layout<?> layout)
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • writeContent

        private void writeContent​(LogEvent[] priorEvents,
                                  LogEvent appendEvent,
                                  Layout<?> layout,
                                  java.io.ByteArrayOutputStream out)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • writeHeader

        protected void writeHeader​(Layout<?> layout,
                                   java.io.OutputStream out)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • writeBuffer

        protected void writeBuffer​(LogEvent[] priorEvents,
                                   LogEvent appendEvent,
                                   Layout<?> layout,
                                   java.io.OutputStream out)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • writeFooter

        protected void writeFooter​(Layout<?> layout,
                                   java.io.OutputStream out)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • getEncoding

        protected java.lang.String getEncoding​(byte[] rawBytes,
                                               java.lang.String contentType)
      • encodeContentToBytes

        protected byte[] encodeContentToBytes​(byte[] rawBytes,
                                              java.lang.String encoding)
                                       throws javax.mail.MessagingException,
                                              java.io.IOException
        Throws:
        javax.mail.MessagingException
        java.io.IOException
      • encodeContent

        protected void encodeContent​(byte[] bytes,
                                     java.lang.String encoding,
                                     java.io.ByteArrayOutputStream out)
                              throws javax.mail.MessagingException,
                                     java.io.IOException
        Throws:
        javax.mail.MessagingException
        java.io.IOException
      • getHeaders

        protected javax.mail.internet.InternetHeaders getHeaders​(java.lang.String contentType,
                                                                 java.lang.String encoding)
      • getMimeMultipart

        protected javax.mail.internet.MimeMultipart getMimeMultipart​(byte[] encodedBytes,
                                                                     javax.mail.internet.InternetHeaders headers)
                                                              throws javax.mail.MessagingException
        Throws:
        javax.mail.MessagingException
      • sendMultipartMessage

        @Deprecated
        protected void sendMultipartMessage​(javax.mail.internet.MimeMessage msg,
                                            javax.mail.internet.MimeMultipart mp)
                                     throws javax.mail.MessagingException
        Deprecated.
        Throws:
        javax.mail.MessagingException
      • sendMultipartMessage

        protected void sendMultipartMessage​(javax.mail.internet.MimeMessage msg,
                                            javax.mail.internet.MimeMultipart mp,
                                            java.lang.String subject)
                                     throws javax.mail.MessagingException
        Throws:
        javax.mail.MessagingException
      • connect

        private void connect​(LogEvent appendEvent)