Help → my server is now using ssl

my server is now using ssl

I use Pegasus mail and was using Norton antispam.
When my server started using ssl, Norton became unable to filter spam.
So, I have installed Popfile. But I just cannot get it setup to work.

I really need to know exactly what changes to make in Popfiles and in Pegasus to get it to work. I've been browsing the subject, but can't quite put it together.

  • Message #1955

    The online manual has some (old) information about configuring Pegasus to work with POPFile:
    http://getpopfile.org/docs/howtos:pegasus

    There are four basic settings that need to be changed in an email client to allow POPFile to process your incoming POP3 email using SSL:

    (1) the incoming mail server (POP3)

    (2) server TCP/IP port

    (3) the user name used to logon to the mail server

    (4) stop using SSL for the mail server connection

    For example if your current POP3 settings in Pegasus are

    POP3 server host name: pop.example.com
    Server TCP/IP port   : 995
    Username             : username
    Security             : use SSL
    

    then to make Pegasus use POPFile and SSL to get your incoming mail you need to change these to

    POP3 server host name: 127.0.0.1
    Server TCP/IP port   : 110
    Username             : pop.example.com:username:ssl
    Security             : do not use SSL
    

    The ":ssl" at the end of the modified username tells POPFile to use SSL and port 995 to connect to the mail server.

    Before POPFile:

    Pegasus -- SSL -- internet -- mail server

    After POPFile:

    Pegasus -- POPFile -- SSL -- internet -- mail server

    By default POPFile's log file does not contain a lot of detail. If you change the logger level from 0 to 1 then the log file will show if POPFile is receiving POP3 requests from Pegasus.

    The "Preparing a log to help debugging problems" page explains how to change the logger level and the "Logger Level" page has some log file examples.

    • Message #1956

      I think I have Pegasus set up as you show. It looks like it's working, but no emails.
      Do I need to enter anything into the popfile UI?

      I got a log file to work, but I can't make anything out of it.
      2014/10/8 16:15:25 20736: -----------------------
      2014/10/8 16:15:25 20736: POPFile v1.1.3 starting
      2014/10/8 16:15:25 20736: bayes: 811: Attempting to connect to dbi:SQLite:dbname=C:\Users\Charles\AppData\Roaming\POPFile/popfile.db (1)
      2014/10/8 16:15:25 20736: bayes: 912: Using SQLite library version 3.7.2
      2014/10/8 16:15:25 20736: bayes: 512: Performing tweak 1 to 1
      2014/10/8 16:15:25 20736: bayes: 2231: get_session_key returning key fI4Ngyc34a79lsjG6 for user XXXXXX
      2014/10/8 16:15:25 20736: html: 66: Trying to open listening socket on port 8080.
      2014/10/8 16:15:25 20736: pop3: 132: Opening listening socket on port 110.
      2014/10/8 16:15:26 20736: bayes: 2128: release_session_key releasing key fI4Ngyc34a79lsjG6 for user XXXXXX
      2014/10/8 16:15:33 20736: bayes: 2231: get_session_key returning key 7WIF1WBIyH5anYlY2 for user XXXXXX
      2014/10/8 16:15:25 20736: -----------------------

      --Chuck

      The online manual has some (old) information about configuring Pegasus to work with POPFile:
      http://getpopfile.org/docs/howtos:pegasus

      There are four basic settings that need to be changed in an email client to allow POPFile to process your incoming POP3 email using SSL:

      (1) the incoming mail server (POP3)

      (2) server TCP/IP port

      (3) the user name used to logon to the mail server

      (4) stop using SSL for the mail server connection

      For example if your current POP3 settings in Pegasus are
      {{{
      POP3 server host name: pop.example.com
      Server TCP/IP port : 995
      Username : username
      Security : use SSL
      }}}
      then to make Pegasus use POPFile and SSL to get your incoming mail you need to change these to
      {{{
      POP3 server host name: 127.0.0.1
      Server TCP/IP port : 110
      Username : pop.example.com:username:ssl
      Security : do not use SSL
      }}}

      The ":ssl" at the end of the modified username tells POPFile to use SSL and port 995 to connect to the mail server.

      Before POPFile:
      Pegasus -- SSL -- internet -- mail server

      After POPFile:
      Pegasus -- POPFile -- SSL -- internet -- mail server

      By default POPFile's log file does not contain a lot of detail. If you change the logger level from 0 to 1 then the log file will show if POPFile is receiving POP3 requests from Pegasus.

      The "Preparing a log to help debugging problems" page explains how to change the logger level and the "Logger Level" page has some log file examples.

      • Message #1957

        Thanks for the log file. It looks like POPFile is not starting up properly as the log file should not end so abruptly.

        Make sure POPFile is not running then use the following Start Menu shortcut to start POPFile:

        Start -- All Programs -- POPFile -- Support -- Message Capture utility

        This shortcut will open the "Message Capture" utility (to display some POPFile startup messages which are normally hidden) and then start POPFile using your normal settings. Sometimes warnings and error messages will appear in the Message Capture utility while POPFile is running.

        The utility's report can be copied to the clipboard and pasted into a reply. Here is a sample report from the Message Capture utility:

        ------------------------------------------------------------
        POPFile Message Capture Utility v0.2.0
        ------------------------------------------------------------
        POPFILE_ROOT   = D:\113-demo\work\prog
        POPFILE_USER   = D:\113-demo\work\user
        Using 'popfileif.exe' to run POPFile
        ------------------------------------------------------------
        (report started 09-Oct-2014 @ 10:57:36)
        ------------------------------------------------------------
        
        POPFile Engine loading
        
            Loading... 
                 {core: windows}
                 {core: config history logger mq} 
                 {classifier: bayes wordmangle} 
                 {interface: html} 
                 {proxy: pop3} 
                 {services:} 
        
        POPFile Engine v1.1.3 starting
        
            Initializing... 
                 {core: config history logger mq windows} 
                 {classifier: bayes wordmangle} 
                 {interface: html} 
                 {proxy: pop3} 
                 {services:} 
        
            Starting...     
                 {core: config history logger mq windows} 
                 {classifier: bayes wordmangle} 
                 {interface: html} 
                 {proxy: pop3} 
                 {services:} 
        
        POPFile Engine v1.1.3 running
        

        If POPFile starts up OK try setting the logger level to 1 (if it is still at the default setting of 0) before trying to use Pegasus to check for new mail.

        Note: In order to retain the original report format I used three curly braces wrapped around the report. The curly braces need to be on a separate line. Here is an example showing how to use the curly braces:

        {{{
        Sample text with some formatting
        
            Debug run startup... 
                  Item 1: success
                  Item 2: success 
        }}}
        

        and here is what this example generates:

        Sample text with some formatting
        
            Debug run startup... 
                  Item 1: success
                  Item 2: success 
        
        • Message #1958

          I'm not confident that I understand all I should. Here's the message capture:

          ------------------------------------------------------------
          POPFile Message Capture Utility v0.2.0
          ------------------------------------------------------------
          POPFILE_ROOT   = C:\PROGRA~2\POPFile
          POPFILE_USER   = C:\Users\Charles\AppData\Roaming\POPFile
          Using 'popfileif.exe' to run POPFile
          ------------------------------------------------------------
          (report started 09-Oct-2014 @ 12:28:23)
          ------------------------------------------------------------
          
          POPFile Engine loading
          
              Loading... 
                   {core: windows}
                   {core: config history logger mq} 
                   {classifier: bayes wordmangle} 
                   {interface: html} 
                   {proxy: pop3 smtp} 
                   {services:} 
          
          POPFile Engine v1.1.3 starting
          
              Initializing... 
                   {core: config history logger mq windows} 
                   {classifier: bayes wordmangle} 
                   {interface: html} 
                   {proxy: pop3 smtp} 
                   {services:} 
          
              Starting...     
                   {core: config history logger mq windows} 
                   {classifier: bayes wordmangle} 
                   {interface: html} 
                   {proxy: pop3} 
                   {services:} 
          
          POPFile Engine v1.1.3 running
          
          

          Here's the last log session:

          2014/10/9 12:28:24 21596: -----------------------
          2014/10/9 12:28:24 21596: POPFile v1.1.3 starting
          2014/10/9 12:28:24 21596: bayes: 811: Attempting to connect to dbi:SQLite:dbname=C:\Users\Charles\AppData\Roaming\POPFile/popfile.db (1)
          2014/10/9 12:28:24 21596: bayes: 912: Using SQLite library version 3.7.2
          2014/10/9 12:28:24 21596: bayes: 512: Performing tweak 1 to 1
          2014/10/9 12:28:24 21596: bayes: 2231: get_session_key returning key H4B3spmJgxh2gdZUq9 for user XXXXXX
          2014/10/9 12:28:24 21596: html: 66: Trying to open listening socket on port 8080.
          2014/10/9 12:28:24 21596: pop3: 132: Opening listening socket on port 110.
          2014/10/9 12:28:25 21596: bayes: 2128: release_session_key releasing key H4B3spmJgxh2gdZUq9 for user XXXXXX
          2014/10/9 12:31:53 21596: bayes: 2231: get_session_key returning key 4akSjG7AdA70nA0VIRF0 for user XXXXXX
          2014/10/9 12:33:05 21596: bayes: 2231: get_session_key returning key HzMA76nv3jd94iWghm for user XXXXXX
          2014/10/9 12:33:05 21596: pop3: 311: +OK POP3 POPFile (v1.1.3) server ready[0d][0a]
          2014/10/9 12:33:09 21596: pop3: 682: POP3 proxy done
          
          
          • Message #1959

            I'm not confident that I understand all I should.

            Don't worry, it looks like you managed to do what I asked.

            The Message Capture report does not show any errors or warnings and POPFile appears to have kept running when Pegasus tried to access new mail.

            The log file shows that POPFile received a POP3 request but there should have been some more entries between these two lines:

            2014/10/9 12:33:05 21596: pop3: 311: +OK POP3 POPFile (v1.1.3) server ready[0d][0a]
            2014/10/9 12:33:09 21596: pop3: 682: POP3 proxy done
            

            If you set the logger level to 2 and try again then POPFile's log will show more information about POPFile's response to the commands sent from Pegasus. The "Logger Level" page in the online manual has some examples showing what to expect.

            • Message #1960

              Ok. That's a lot of data:

              2014/10/9 13:39:19 1924: -----------------------
              2014/10/9 13:39:19 1924: POPFile v1.1.3 starting
              2014/10/9 13:39:19 1924: mq: 380: post UIREG (configuration:windows_trayicon_and_console:windows-configuration.thtml:Platform::MSWin32=HASH(0x218aa20))
              2014/10/9 13:39:19 1924: mq: 387: queuing post UIREG (configuration:windows_trayicon_and_console:windows-configuration.thtml:Platform::MSWin32=HASH(0x218aa20))
              2014/10/9 13:39:19 1924: mq: 389: UIREG queue length now 0
              2014/10/9 13:39:19 1924: bayes: 811: Attempting to connect to dbi:SQLite:dbname=C:\Users\Charles\AppData\Roaming\POPFile/popfile.db (1)
              2014/10/9 13:39:19 1924: bayes: 912: Using SQLite library version 3.7.2
              2014/10/9 13:39:19 1924: bayes: 512: Performing tweak 1 to 1
              2014/10/9 13:39:19 1924: bayes: 2231: get_session_key returning key Okg0nPZKeXmJjkga6u for user XXXXXX
              2014/10/9 13:39:19 1924: mq: 380: post RELSE (Okg0nPZKeXmJjkga6u)
              2014/10/9 13:39:19 1924: mq: 387: queuing post RELSE (Okg0nPZKeXmJjkga6u)
              2014/10/9 13:39:19 1924: mq: 389: RELSE queue length now 0
              2014/10/9 13:39:19 1924: html: 66: Trying to open listening socket on port 8080.
              2014/10/9 13:39:19 1924: mq: 380: post UIREG (configuration:pop3_configuration:pop3-configuration-panel.thtml:Proxy::POP3=HASH(0x2ca9924))
              2014/10/9 13:39:19 1924: mq: 387: queuing post UIREG (configuration:pop3_configuration:pop3-configuration-panel.thtml:Proxy::POP3=HASH(0x2ca9924))
              2014/10/9 13:39:19 1924: mq: 389: UIREG queue length now 1
              2014/10/9 13:39:19 1924: mq: 380: post UIREG (security:pop3_security:pop3-security-panel.thtml:Proxy::POP3=HASH(0x2ca9924))
              2014/10/9 13:39:19 1924: mq: 387: queuing post UIREG (security:pop3_security:pop3-security-panel.thtml:Proxy::POP3=HASH(0x2ca9924))
              2014/10/9 13:39:19 1924: mq: 389: UIREG queue length now 2
              2014/10/9 13:39:19 1924: mq: 380: post UIREG (chain:pop3_chain:pop3-chain-panel.thtml:Proxy::POP3=HASH(0x2ca9924))
              2014/10/9 13:39:19 1924: mq: 387: queuing post UIREG (chain:pop3_chain:pop3-chain-panel.thtml:Proxy::POP3=HASH(0x2ca9924))
              2014/10/9 13:39:19 1924: mq: 389: UIREG queue length now 3
              2014/10/9 13:39:19 1924: pop3: 132: Opening listening socket on port 110.
              2014/10/9 13:39:19 1924: mq: 380: post UIREG (configuration:pop3_socks_configuration:socks-widget.thtml:Proxy::POP3=HASH(0x2ca9924))
              2014/10/9 13:39:19 1924: mq: 387: queuing post UIREG (configuration:pop3_socks_configuration:socks-widget.thtml:Proxy::POP3=HASH(0x2ca9924))
              2014/10/9 13:39:19 1924: mq: 389: UIREG queue length now 4
              2014/10/9 13:39:19 1924: mq: 128: Message RELSE (Okg0nPZKeXmJjkga6u) ready for delivery
              2014/10/9 13:39:19 1924: mq: 131: Delivering message RELSE (Okg0nPZKeXmJjkga6u) to bayes
              2014/10/9 13:39:19 1924: bayes: 2128: release_session_key releasing key Okg0nPZKeXmJjkga6u for user XXXXXX
              2014/10/9 13:39:19 1924: mq: 128: Message UIREG (configuration:windows_trayicon_and_console:windows-configuration.thtml:Platform::MSWin32=HASH(0x218aa20)) ready for delivery
              2014/10/9 13:39:19 1924: mq: 131: Delivering message UIREG (configuration:windows_trayicon_and_console:windows-configuration.thtml:Platform::MSWin32=HASH(0x218aa20)) to html
              2014/10/9 13:39:19 1924: mq: 128: Message UIREG (configuration:pop3_configuration:pop3-configuration-panel.thtml:Proxy::POP3=HASH(0x2ca9924)) ready for delivery
              2014/10/9 13:39:19 1924: mq: 131: Delivering message UIREG (configuration:pop3_configuration:pop3-configuration-panel.thtml:Proxy::POP3=HASH(0x2ca9924)) to html
              2014/10/9 13:39:19 1924: mq: 128: Message UIREG (security:pop3_security:pop3-security-panel.thtml:Proxy::POP3=HASH(0x2ca9924)) ready for delivery
              2014/10/9 13:39:19 1924: mq: 131: Delivering message UIREG (security:pop3_security:pop3-security-panel.thtml:Proxy::POP3=HASH(0x2ca9924)) to html
              2014/10/9 13:39:19 1924: mq: 128: Message UIREG (chain:pop3_chain:pop3-chain-panel.thtml:Proxy::POP3=HASH(0x2ca9924)) ready for delivery
              2014/10/9 13:39:19 1924: mq: 131: Delivering message UIREG (chain:pop3_chain:pop3-chain-panel.thtml:Proxy::POP3=HASH(0x2ca9924)) to html
              2014/10/9 13:39:19 1924: mq: 128: Message UIREG (configuration:pop3_socks_configuration:socks-widget.thtml:Proxy::POP3=HASH(0x2ca9924)) ready for delivery
              2014/10/9 13:39:19 1924: mq: 131: Delivering message UIREG (configuration:pop3_socks_configuration:socks-widget.thtml:Proxy::POP3=HASH(0x2ca9924)) to html
              2014/10/9 13:39:30 1924: html: 659: Read slurp data GET /configuration HTTP/1.1[0d][0a]Accept: text/html, application/xhtml+xml, */*[0d][0a]Referer: http://localhost:8080/password[0d][0a]Accept-Language: en-US[0d][0a]User-Agent: Mozilla
              2014/10/9 13:39:30 1924: html: 159: GET /configuration HTTP/1.1[0d][0a]
              2014/10/9 13:39:30 1924: html: 659: Read slurp data /5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko[0d][0a]Accept-Encoding: gzip, deflate[0d][0a]Host: localhost:8080[0d][0a]DNT: 1[0d][0a]Connection: Keep-Alive[0d][0a][0d][0a]
              2014/10/9 13:39:30 1924: bayes: 2231: get_session_key returning key SkRjdVV64G3qq3HBd for user XXXXXX
              2014/10/9 13:39:30 1924: html: 193: HTTP handle_url returned code 1[0a]
              2014/10/9 13:39:30 1924: html: 202: Close HTTP connection on IO::Socket::INET=GLOB(0x2e689a4)[0a]
              2014/10/9 13:39:39 1924: html: 659: Read slurp data POST /password HTTP/1.1[0d][0a]Accept: text/html, application/xhtml+xml, */*[0d][0a]Referer: http://localhost:8080/configuration[0d][0a]Accept-Language: en-US[0d][0a]User-Agent: Mozill
              2014/10/9 13:39:39 1924: html: 159: POST /password HTTP/1.1[0d][0a]
              2014/10/9 13:39:39 1924: html: 659: Read slurp data a/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko[0d][0a]Content-Type: application/x-www-form-urlencoded[0d][0a]Accept-Encoding: gzip, deflate[0d][0a]Host: localhost
              2014/10/9 13:39:39 1924: html: 659: Read slurp data :8080[0d][0a]Content-Length: 60[0d][0a]DNT: 1[0d][0a]Connection: Keep-Alive[0d][0a]Cache-Control: no-cache[0d][0a][0d][0a]redirect=%2Fconfiguration%3F&password=Pair8437w&submit=Go%21
              2014/10/9 13:39:39 1924: html: 184: redirect=%2Fconfiguration%3F&password=Pair8437w&submit=Go%21
              2014/10/9 13:39:40 1924: html: 193: HTTP handle_url returned code 1[0a]
              2014/10/9 13:39:40 1924: html: 202: Close HTTP connection on IO::Socket::INET=GLOB(0x2e684f4)[0a]
              2014/10/9 13:42:19 1924: bayes: 2231: get_session_key returning key 5m2W1k4jg6bVS8De9 for user XXXXXX
              2014/10/9 13:42:19 1924: pop3: 311: +OK POP3 POPFile (v1.1.3) server ready[0d][0a]
              2014/10/9 13:42:19 1924: pop3: 198: Regexps: ^USER XXXXXX
              2014/10/9 13:42:20 1924: mq: 380: post CMPLT (1924)
              2014/10/9 13:42:20 1924: mq: 391: dropping post CMPLT (1924)
              2014/10/9 13:42:20 1924: pop3: 682: POP3 proxy done
              2014/10/9 13:43:43 1924: pop3: 311: +OK POP3 POPFile (v1.1.3) server ready[0d][0a]
              2014/10/9 13:43:43 1924: pop3: 198: Regexps: ^USER XXXXXX
              2014/10/9 13:43:44 1924: mq: 380: post CMPLT (1924)
              2014/10/9 13:43:44 1924: mq: 391: dropping post CMPLT (1924)
              2014/10/9 13:43:44 1924: pop3: 682: POP3 proxy done
              2014/10/9 13:44:50 1924: html: 659: Read slurp data GET /popfile_current_log.log?session=0EaaNRf HTTP/1.1[0d][0a]Accept: text/html, application/xhtml+xml, */*[0d][0a]Referer: http://localhost:8080/password[0d][0a]Accept-Language: 
              2014/10/9 13:44:50 1924: html: 159: GET /popfile_current_log.log?session=0EaaNRf HTTP/1.1[0d][0a]
              2014/10/9 13:44:50 1924: html: 659: Read slurp data en-US[0d][0a]User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko[0d][0a]Accept-Encoding: gzip, deflate[0d][0a]Host: localhost:8080[0d][0a]DNT: 1[0d][0a]Connectio
              2014/10/9 13:44:50 1924: html: 659: Read slurp data n: Keep-Alive[0d][0a][0d][0a]
              
              
              • Message #1962

                That's a lot of data

                That is why I suggested using level 1 before (level 2 is really a last resort, especially if you use the UI to do anything).

                I think this is the important part of the log file:

                2014/10/9 13:42:19 1924: pop3: 311: +OK POP3 POPFile (v1.1.3) server ready[0d][0a]
                2014/10/9 13:42:19 1924: pop3: 198: Regexps: ^USER XXXXXX
                2014/10/9 13:42:20 1924: mq: 380: post CMPLT (1924)
                2014/10/9 13:42:20 1924: mq: 391: dropping post CMPLT (1924)
                2014/10/9 13:42:20 1924: pop3: 682: POP3 proxy done
                

                The first line (+OK etc) shows POPFile's initial response to Pegasus. The second line (Regexps etc) shows POPFile preparing a regular expression (for internal use by POPFile).

                At this point POPFile is waiting for Pegasus to send the modified username telling POPFile to connect to the mail server (using SSL) and start the logon process.

                As far as I can tell, the remaining three lines (i.e. the two CMPLT lines and the proxy done line) show POPFile's response to the fact that Pegasus has disconnected from POPFile.

                You've not mentioned any Pegasus problems so I assume it keeps running.

                Does Pegasus report any errors?

                Is there a Pegasus log file or error report you can look at to see why it is giving up as soon as POPFile sends its "+OK" response?

                You may need to enable logging in Pegasus to make it generate a log file or error report.

                • Message #1963

                  Pegasus works normally when it's set to get ssl messages directly.
                  When it's set to popfile, it says "Connecting to 127.0.0.1..." for awhile and then shows the hourglass as it normally does when sorting new mail. Then nothing.

                  I set Pegasus logging to debug (it was set to "Normal Messages"). Tried to get mail from Popfile. No messages in the Pegasus system message window.

                  When getting mail directly, the system message window fills up with each filtering action. Nothing at all when set to popfile.

                  That's a lot of data


                  That is why I suggested using level 1 before (level 2 is really a last resort, especially if you use the UI to do anything).

                  I think this is the important part of the log file:
                  {{{
                  2014/10/9 13:42:19 1924: pop3: 311: +OK POP3 POPFile (v1.1.3) server ready[0d][0a]
                  2014/10/9 13:42:19 1924: pop3: 198: Regexps: USER XXXXXX
                  2014/10/9 13:42:20 1924: mq: 380: post CMPLT (1924)
                  2014/10/9 13:42:20 1924: mq: 391: dropping post CMPLT (1924)
                  2014/10/9 13:42:20 1924: pop3: 682: POP3 proxy done
                  }}}

                  The first line (+OK etc) shows POPFile's initial response to Pegasus. The second line (Regexps etc) shows POPFile preparing a regular expression (for internal use by POPFile).

                  At this point POPFile is waiting for Pegasus to send the modified username telling POPFile to connect to the mail server (using SSL) and start the logon process.

                  As far as I can tell, the remaining three lines (i.e. the two CMPLT lines and the proxy done line) show POPFile's response to the fact that Pegasus has disconnected from POPFile.

                  You've not mentioned any Pegasus problems so I assume it keeps running.

                  Does Pegasus report any errors?

                  Is there a Pegasus log file or error report you can look at to see why it is giving up as soon as POPFile sends its "+OK" response?

                  You may need to enable logging in Pegasus to make it generate a log file or error report.

                  • Message #1965

                    I've just installed Pegasus v4.70 and POPFile 1.1.3 and successfully configured Pegasus to use POPFile to handle POP3 mail using SSL.

                    My first attempt at configuring Pegasus to use POPFile failed with Pegasus displaying an error message showing that the login attempt had failed.

                    I didn't write down the error message but it looked like something had garbled the username and I suspected interference from my anti-virus program. I changed Pegasus and POPFile to use port 123 instead of 110 and tried again - this time it worked without any errors.

                    I set Pegasus logging to debug (it was set to "Normal Messages"). Tried to get mail from POPFile. No messages in the Pegasus system message window.

                    That window is not very helpful. A successful mail check that finds no new mail simply generates one line (POP3: No messages in maildrop) even with the level set to "5 Debugging".

                    There is another debugging option in Pegasus that shows much more detail about the POP3 commands.

                    Select "Internet options..." from the "Tools" menu to display the "Internet Mail Options" dialog, tick the "Create Internet session logs (advanced diagnostic use only)" box at the bottom of the dialog and click OK.

                    Now try the "Check host for new mail" command from the "File" menu again. This will create a file showing the communication between Pegasus and POPFile in the same sort of timestamped detail as POPFile's log file.

                    I installed Pegasus with the default settings using a Windows account called "Admin" so Pegasus saved these internet session logs in the folder C:\PMAIL\MAIL\ADMIN\TCPLogs. Each log file has a filename based upon the date and time when Pegasus checked for new mail ( e.g. TCP-141010-0011-0.pop, TCP-141010-0020-1.pop, etc)

                    These log files show the "+OK server ready" response from POPFile followed by the commands sent by Pegasus and the responses received from POPFile (>> and << are used to indicate the transfer direction).

                    Here is what is supposed to happen after POPFile reports "server ready":

                    (1) Pegasus sends a USER command containing the modified username (e.g. pop.example:username:ssl) to POPFile

                    (2) POPFile responds with "+OK send PASS"

                    (3) Pegasus sends a PASS command containing the password

                    (4) POPFile responds with "+OK" (and possibly some more text, depending upon the real mail server)

                    then Pegasus issues commands to find out if there is any new mail to be collected.

                    • Message #1966

                      >> I changed Pegasus and POPFile to use port 123 instead of 110 and tried again

                      Where in Popfile do you set the port to 123?

                      • Message #1967

                        Where in Popfile do you set the port to 123?

                        The CONFIGURATION page in the POPFile UI has a section called "POP3". Change the "POP3 listen port" from 110 to 123 then click the "Apply" button.

                        You will need to shut down and restart POPFile for this change to take effect. This change makes POPFile use port 123 to listen for commands from Pegasus.

                        The Pegasus TCPLog file will show your email username and password so if you want to quote the log file in a reply I recommend you replace these values with asterisks (or some other character) in your reply.

                        • Message #1968

                          Brian,thank you.

                          Changing the port to 123 brought in all waiting messages.
                          They all have "[Unclassified]" in the subject.

                          now that We seem to have Popfile scanning, how do I get it to flag spam?

                          • Message #1969

                            Ok. A little reclassifying is doing the trick.
                            I want to thank you for your help.

                            I may be back, but it looks good so far.

                            • Message #1970

                              Glad to hear that POPFile and Pegasus are now working together!

                              You may be surprised at how quickly POPFile learns how to classify your incoming mail.

                              The "How long will it take until POPFile will reach a decent accuracy?" page in the online manual includes some statistics compiled while I was training POPFile to handle my mail.

                              There is no need to reclassify every message that POPFile has failed to classify correctly.

                              For example if several similar spam messages were not marked as 'spam' it is often only necessary to reclassify one of these as 'spam'.

                              When you reclassify a message POPFile updates the data it uses to classify messages. This will not change the current classification of the other similar messages because they've already been passed along to the mail client, but will affect future messages.

                              You can see if a message would now be classified differently by using "Single Message View". Simply click on the message's "Subject" entry in the HISTORY page of the POPFile UI and POPFile will display the message together with the name of the bucket used to classify the message. If POPFile reports that the message would now be classified correctly then there is no need to reclassify this message.

                              • Message #1971

                                I have seen talk about a way to put a link in the popfile-filtered mail to start the Popfile reclassification page.

                                It says to use Rescom to compile an altered wpm-char.r file.
                                That would be handy, but what is Rescom?


                                • Message #1972

                                  Rescom is a Resource Compiler which is supplied with Pegasus Mail. The rescom.exe program is stored in the C:\PMAIL\Programs\RESOURCE folder, together with a sample wpm-char.r file (and over a dozen other files).

                                  POPFile's online manual has a page called "Customize Pegasus Mail to Show the X-POPFile-Link" which explains how to use rescom.exe to compile the file (the important step is the "While in the same directory" part because the program is stored in the same directory as the wpm-char.r file).

                                  I tried to follow the instructions given in that page but ran into some problems, such as Rescom appearing to use 100% CPU load for many minutes without producing any output (in fact it seemed to go into an infinite loop).

                                  Eventually I found some information about Rescom in the Pegasus Mail forums - apparently it is an ancient program which uses codepage 850.

                                  Once I saved the modified wpm-char.r file with this encoding (and fixed some errors in the file, e.g. there is a missing comma and an extra comma) rescom.exe was able to instantly compile the file.

                                  I copied the wpm-char.rsc file to the main Pegasus program directory (C:\PMAIL\Programs), started Pegasus, viewed a message that had been processed by POPFile and was able to see the POPFile bucket name and a clickable link to reclassify the message.

                                  I'll try to update the "Customize Pegasus Mail to Show the X-POPFile-Link" page tomorrow with up-to-date screenshots, revised instructions and a download link to a revised wpm-char.r file.

                                  (edited to fix the rescom.exe path)

                                  • Message #1973

                                    Right. I downloaded your sample wpm-char and compiled it as-is (using the paths) and put the resulting wpm-char.rsc in the Pegasus program folder and it worked like a charm.

                                    Now, if I could figure how to avoid having to enter the popfile password each time I click the popfile link, I'd be happy. Maybe I need to switch to a simpler password.

                                    Thanks.

                                    • Message #1974

                                      how to avoid having to enter the popfile password each time I click the popfile link

                                      You could use a password utility which supports auto-type and allows you to define a hot key for the POPFile UI password.

                                      To do a batch of reclassifying tasks you would start the password utility and enter its master password then when you click the "reclassify" link in the Pegasus message viewer you'd only need to use the hot key to tell the password utility to enter the UI password. After you finish your reclassifying work the password utility can be shut down.

                                      • Message #1975

                                        how to avoid having to enter the popfile password each time I click the popfile link


                                        You could use a password utility which supports auto-type and allows you to define a hot key for the POPFile UI password.

                                        To do a batch of reclassifying tasks you would start the password utility and enter its master password then when you click the "reclassify" link in the Pegasus message viewer you'd only need to use the hot key to tell the password utility to enter the UI password. After you finish your reclassifying work the password utility can be shut down.

                                        Right. I have Perfect Keyboard on this machine. I set it to enter the password with a hot key. That helps a lot. Still a lot of classifying and sorting to do.

                                        Do you know how to automatically forward emails in Pegasus if it's to a particular address but NOT if it's spam?

                                        • Message #1976

                                          Still a lot of classifying and sorting to do.

                                          POPFile is a mail classifier, not just a spam filter. This means that you need to classify the good mail as well as the spam.

                                          For example if you define three buckets called 'spam', 'personal' and 'work' you need to classify some mail as 'spam' and classify some mail as 'personal' and classify some mail as 'work' for POPFile to be able to learn how to classify your mail.

                                          If you never reclassify any mail as 'personal' or 'work' and only reclassify mail as 'spam' then POPFile will have no idea what type of mail should be classified as 'personal' or 'work'.

                                          The same applies if you have only defined two buckets, one for spam and one for mail which is not spam - you need to classify some mail for both buckets in order to teach POPFile the difference between mail that is spam and mail that is not spam.

                                          When POPFile analyses a message it calculates for each bucket the probability that the message belongs in that bucket and then classifies the message to the bucket with the highest probability (but if the two highest probabilities are not very far apart then POPFile will mark the mail as 'unclassified')

                                          The POPFile UI also shows some training help when POPFile is first installed:

                                          "When you first use POPFile, it knows nothing and will need some training. POPFile requires training on messages for each bucket, training occurs when you reclassify a message POPFile misclassified to the correct bucket. Before POPFile will classify the first message, you will have to have reclassified messages to at least two buckets. You must also setup your mail client to filter messages based on POPFile's classification."

                                          See also:

                                          "Training POPFile"

                                          "What's the minimum and maximum number of buckets POPFile can support?"

                                          Do you know how to automatically forward emails in Pegasus if it's to a particular address but NOT if it's spam?

                                          Sorry, I know almost nothing about Pegasus - when I said "I've just installed Pegasus v4.70" yesterday I meant that I had installed it yesterday to see if I could set it up to use POPFile and SSL.

                                          • Message #1977

                                            Do you know how to automatically forward emails in Pegasus if it's to a particular address but NOT if it's spam?


                                            Sorry, I know almost nothing about Pegasus - when I said "I've just installed Pegasus v4.70" yesterday I meant that I had installed it yesterday to see if I could set it up to use POPFile and SSL.

                                            Ok. Thanks. You have been great.

                                            • Message #1978

                                              I forgot to mention something about what POPFile does when logger level 2 is selected.

                                              When the logger level is set to 2 POPFile's log files will include the entire content of every email processed by POPFile.

                                              Now that POPFile is working with Pegasus Mail I recommend you set the logger level to 0 or 1.

                                              • Message #1979

                                                I forgot to mention something about what POPFile does when logger level 2 is selected.
                                                When the logger level is set to 2 POPFile's log files will include the entire content of every email processed by POPFile.
                                                Now that POPFile is working with Pegasus Mail I recommend you set the logger level to 0 or 1.

                                                right, Brian. Thanks.
                                                I never thought of all that data filling up. How long does the accumulated data stay?

                                                • Message #1980

                                                  A new POPFile log file is created every day. The files are named popfile###.log where ### is output of the "time" command, resulting in unique file names, such as popfile1091836800.log.

                                                  If I remember correctly POPFile will automatically delete log files which are older than 3 days.

                                                  POPFile will also remove entries from the HISTORY list once they are older than a limit set on the CONFIGURATION page in the POPFile UI.

                                                  But there is a catch ... I think POPFile needs to have been running for at least an hour before any cleanup tasks are performed. So if you only run POPFile for, say, 45 minutes at a time it will never get around to deleting any old files.

                                                  There is a button on the CONFIGURATION page you can use to force POPFile to remove any history entries which are older than the defined limit but there is no equivalent mechanism to delete old log files (so you'll need to remove them manually).

                                                  I often only run POPFile for short periods and at the moment I have accumulated 9 days worth of log files.

                                                  • Message #1981

                                                    I found them in my user data roaming folder. The last three days they were 10mb each.

                                                    Thanks, - Chuck


                                                    A new POPFile log file is created every day. The files are named popfile###.log where ### is output of the "time" command, resulting in unique file names, such as popfile1091836800.log.

                                                    If I remember correctly POPFile will automatically delete log files which are older than 3 days.

                                                    POPFile will also remove entries from the HISTORY list once they are older than a limit set on the CONFIGURATION page in the POPFile UI.

                                                    But there is a catch ... I think POPFile needs to have been running for at least an hour before any cleanup tasks are performed. So if you only run POPFile for, say, 45 minutes at a time it will never get around to deleting any old files.

                                                    There is a button on the CONFIGURATION page you can use to force POPFile to remove any history entries which are older than the defined limit but there is no equivalent mechanism to delete old log files (so you'll need to remove them manually).

                                                    I often only run POPFile for short periods and at the moment I have accumulated 9 days worth of log files.