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,
                              org.apache.logging.log4j.core.net.SmtpManager.FactoryData data)
    • Method Detail

      • 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)
      • 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.
      • formatContentToBytes

        protected byte[] formatContentToBytes​(LogEvent[] priorEvents,
                                              LogEvent appendEvent,
                                              Layout<?> layout)
                                       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

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