Top receivers?

Issue #56 closed
Stephan Krebernik created an issue

today I got 15 receivers without a authenticated sender in the dashboard:

Bildschirmfoto 2016-02-24 um 14.23.44.png

were those mails really sent? if yes, can the server really be used as relay? where can I find some more info in the system?

thx

Comments (11)

  1. Stephan Krebernik reporter

    could you please give me a hint where to check if those mails have really been sent or not?

    Bildschirmfoto 2016-04-17 um 00.46.30.png

  2. Trevor Ferre

    krebbi, I think there is a little confusion here... top receivers would be the received mail to the server not sent mail... I am assuming vip.163.com & 163.com are not virtual domains on your server... so I would assume that your are just getting spammed...

    now that leads into a question of whether the top receivers list should be filtered to only virtual domains that exist on the system... thoughts ?

  3. Stephan Krebernik reporter

    ahh, okay. thx for enlighten me on this one.

    filter that list would be quite useful to stop noobs like me asking stupid questions. :)

  4. Trevor Ferre

    Draft of filtered top receivers by vdomains on server

    file, src/Analogic/MailserverBundle/Statistics/Day.php

    $vdomains, is an array of the vdomains on the server... analogic your choice on how to populate.... either from db directory or /data/domains listing

     public function getTopReceivers(\DateTime $date)
        {
            // cat *-total | awk '{print $8}' | uniq -c | sort -r
    
            $path = '/data/log/qpsmtpd/';
    
            $file = $path.$date->format('Y-m-d').'-total';
    
            $output = shell_exec("awk 'BEGIN { FS=\"[ ]\" } ; {print $8}' $file 2> /dev/null | grep -v '^$' | sort | uniq -c | sort -r | head -n 6");
    
            $summary = array();
            foreach(explode("\n", $output) as $row) {
                if(preg_match('~^\s*(?P<count>\d+)\s+(?P<receiver>.*)$~', $row, $match))
                      $rdomain = explode('@', $match['receiver']);
                      if(in_array($rdomain[1], $vdomains))
                                $summary[$match['receiver']] = $match['count'];
            }
    
            return $summary;
        }
    
  5. Stephan Krebernik reporter

    i did some testings and the top-receivers contain internal recipients as well as external ones - also sent emails.

  6. SH repo owner

    I am closing this, since dashboard was rewritten and this issue is no longer valid for next rls. Thanks!

  7. Stephan Krebernik reporter

    first of all: really nice job! i love the new dashboard!

    just one small question: are the "top SMTP clients" numbers from today or from the last 30 days? or should the past stats be deleted? because after the update to beta7 I have a huge increase of successful deliveries..

  8. Stephan Krebernik reporter
    • changed status to open

    I need to reopen this as the stats are really unclear to me now. the successful deliveries increased dramatically since beta7 and I do have an status 250 smtp client i really don't know: 81.209.134.225

    Bildschirmfoto 2016-10-10 um 01.19.47.png

  9. Stephan Krebernik reporter

    may I ask for a little enhancement in the dashboard? would be nice to see the top 10/20/50 senders and recipients. and a switch to see it on a daily basis. so it would be possible to identify spammers. thx.

  10. SH repo owner
    • changed status to closed
    • edited description

    I am closing this, because whole statistics around sending emails is changed now

  11. Log in to comment