App-SpamcupNG

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN

---
ExecutionOptions:
  all: y
  stupid: y
  check_only: n
  alt_code: n
  alt_user: n
  verbosity: INFO
  database:
    enabled: true
    path: /var/spamcupng/reports.db
Accounts:
  Yahoo!:
    e-mail: account@provider1.com.br
    password: FOOBAR
  Gmail:
    e-mail: account@provider2.com.br
    password: FOOBAR
```
All those options have their corresponding command line parameter. Be sure to
take care of file permissions to avoid disclosure of your SpamCop.net password!

### Local database

You probably noticed the following configuration lines from the YAML:

```YAML
  database:
    enabled: true
    path: /var/spamcupng/reports.db
```

Those lines define the configuration for a local database based on
[SQLite](https://sqlite.org/).

This database will save data related to the submitted reports and can be used
to provide further details of what kind of SPAM you're getting and from.

## Local database schema

bin/spamcup  view on Meta::CPAN

    ---
    ExecutionOptions:
    all: y
    stupid: y
    nothing: n
    alt_code: n
    verbosity: INFO
    alt_user: n
    database:
      enabled: true
      path: /var/spamcupng/reports.db
    Accounts:
      Provider1:
        e-mail: account@provider1.com.br
        password: FOOBAR
      Provider2:
        e-mail: account@provider2.com.br
        password: FOOBAR

You can use any name instead of "Provider1" or "Provider2" as long as their are valid key names for YAML format.

t/config/sample.yaml  view on Meta::CPAN

---
ExecutionOptions:
  all: y
  stupid: y
  check_only: n
  alt_code: n
  alt_user: n
  verbosity: INFO
  database:
    enabled: true
    path: /var/spamcupng/reports.db
Accounts:
  Yahoo!:
    e-mail: account@provider1.com.br
    password: FOOBAR
  Gmail:
    e-mail: account@provider2.com.br
    password: FOOBAR

t/read_config.t  view on Meta::CPAN

my $accounts_ref = read_config( $sample, $config_ref );
is( ref($accounts_ref), 'HASH', 'read_config returns a hash reference' );
my $expected_cfg_ref = {
    'V'          => 'INFO',
    'all'        => 1,
    'alt_code'   => 0,
    'alt_user'   => 0,
    'check_only' => 0,
    'database'   => {
        enabled => 1,
        path    => '/var/spamcupng/reports.db'
    },
    'stupid' => 1
};
is_deeply( $config_ref, $expected_cfg_ref,
    'command line options were updated as expected' );
my $expected_accounts_ref = {
    'Gmail' => {
        'e-mail'   => 'account@provider2.com.br',
        'password' => 'FOOBAR'
    },

t/responses/after_login.html  view on Meta::CPAN

<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="stylesheet" type="text/css" href="/images/05look.css">
<link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
<link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
<link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
<link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
<script type="text/javascript" src="/js/script.js">
</script>
</head>
<body>
<div id="logo"><a href="/"><img src="/images/05logo.png" alt=
"[SpamCop.net - protecting the internet through technology]" width="288" height="40"></a><a onclick=
"return !confirm('WARNING - do not send email or you will be blacklisted');" href=
"mailto:bait-c944cea5-5a821b6d@good.julianhaight.com">&nbsp;</a></div>
<div id="topmenu"><a href="/help.shtml">Help</a> | <a href="/sitemap.shtml">Site Map</a>
<div id="fontsize">| Text size: <a id="fontminus" href="javascript:fontMinus();">-</a> <a id="fontplus" href=
"javascript:fontPlus();">+</a></div>
</div>
<div id="login">Alceu Rodrigues de Freitas Junior</div>
<div id="nav"><a href="/">Report Spam</a> <a href="/mcgi?action=mhedit;authcode=w9n2BBgCTP3Enrh3">Mailhosts</a>
<a href="/spamstats.shtml">Statistics</a> <a href="/mcgi?action=histmenu">Past Reports</a> <a href=

t/responses/bounce_error.html  view on Meta::CPAN

<link rel="stylesheet" type="text/css" href="/images/05look.css">
<link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
<link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
<link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
<link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
<script type="text/javascript" src="/js/script.js"></script>
</head>
<body>

<div id="logo">
<a href="/"><img src="/images/05logo.png"
  alt="[SpamCop.net - protecting the internet through technology]"
  width="288"
  height="40"></a><a
  onclick="return !confirm('WARNING - do not send email or you will be blocklisted');"
  href="mailto:bait-bb23eb55-61a753ff@good.julianhaight.com">&nbsp;</a>
</div>
<div id="topmenu">
 <a href="/help.shtml">Help</a> |
 <a href="/sitemap.shtml">Site Map</a>
<div id="fontsize"> | Text size:

t/responses/boundary.html  view on Meta::CPAN

<link rel="stylesheet" type="text/css" href="/images/05look.css">
<link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
<link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
<link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
<link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
<script type="text/javascript" src="/js/script.js"></script>
</head>
<body>

<div id="logo">
<a href="/"><img src="/images/05logo.png"
  alt="[SpamCop.net - protecting the internet through technology]"
  width="288"
  height="40"></a><a
  onclick="return !confirm('WARNING - do not send email or you will be blocklisted');"
  href="mailto:bait-bf0d02ea-620bb71a@good.julianhaight.com">&nbsp;</a>
</div>
<div id="topmenu">
 <a href="/help.shtml">Help</a> |
 <a href="/sitemap.shtml">Site Map</a>
<div id="fontsize"> | Text size:

t/responses/failed_load_header.html  view on Meta::CPAN

<link rel="stylesheet" type="text/css" href="/images/05look.css">
<link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
<link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
<link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
<link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
<script type="text/javascript" src="/js/script.js"></script>
</head>
<body>

<div id="logo">
<a href="/"><img src="/images/05logo.png"
  alt="[SpamCop.net - protecting the internet through technology]"
  width="288"
  height="40"></a><a 
  onclick="return !confirm('WARNING - do not send email or you will be blacklisted');"
  href="mailto:bait-c944cea5-5a821bae@good.julianhaight.com">&nbsp;</a>
</div>
<div id="topmenu">
 <a href="/help.shtml">Help</a> |
 <a href="/sitemap.shtml">Site Map</a>
<div id="fontsize"> | Text size:

t/responses/login_failed.html  view on Meta::CPAN

<link rel="stylesheet" type="text/css" href="/images/05look.css">
<link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
<link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
<link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
<link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
<script type="text/javascript" src="/js/script.js"></script>
</head>
<body>

<div id="logo">
<a href="/"><img src="/images/05logo.png"
  alt="[SpamCop.net - protecting the internet through technology]"
  width="288"
  height="40"></a><a
  onclick="return !confirm('WARNING - do not send email or you will be blocklisted');"
  href="mailto:bait-b14c9c79-61d1ecc9@good.julianhaight.com">&nbsp;</a>
</div>
<div id="topmenu">
 <a href="/help.shtml">Help</a> |
 <a href="/sitemap.shtml">Site Map</a>
<div id="fontsize"> | Text size:

t/responses/mailhost_problem.html  view on Meta::CPAN

<link rel="stylesheet" type="text/css" href="/images/05look.css">
<link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
<link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
<link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
<link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
<script type="text/javascript" src="/js/script.js"></script>
</head>
<body>

<div id="logo">
<a href="/"><img src="/images/05logo.png"
  alt="[SpamCop.net - protecting the internet through technology]"
  width="288"
  height="40"></a><a 
  onclick="return !confirm('WARNING - do not send email or you will be blacklisted');"
  href="mailto:bait-bd44f0cb-5a8f7479@good.julianhaight.com">&nbsp;</a>
</div>
<div id="topmenu">
 <a href="/help.shtml">Help</a> |
 <a href="/sitemap.shtml">Site Map</a>
<div id="fontsize"> | Text size:

t/responses/missing_sendreport_form.html  view on Meta::CPAN

<link rel="stylesheet" type="text/css" href="/images/05look.css">
<link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
<link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
<link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
<link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
<script type="text/javascript" src="/js/script.js"></script>
</head>
<body>

<div id="logo">
<a href="/"><img src="/images/05logo.png"
  alt="[SpamCop.net - protecting the internet through technology]"
  width="288"
  height="40"></a><a
  onclick="return !confirm('WARNING - do not send email or you will be blocklisted');"
  href="mailto:bait-bb23ec3b-617c5d21@good.julianhaight.com">&nbsp;</a>
</div>
<div id="topmenu">
 <a href="/help.shtml">Help</a> |
 <a href="/sitemap.shtml">Site Map</a>
<div id="fontsize"> | Text size:

t/responses/post_reporting.html  view on Meta::CPAN

<link rel="stylesheet" type="text/css" href="/images/05look.css">
<link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
<link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
<link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
<link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
<script type="text/javascript" src="/js/script.js"></script>
</head>
<body>

<div id="logo">
<a href="/"><img src="/images/05logo.png"
  alt="[SpamCop.net - protecting the internet through technology]"
  width="288"
  height="40"></a><a
  onclick="return !confirm('WARNING - do not send email or you will be blocklisted');"
  href="mailto:bait-bb23ec67-6192f6ca@good.julianhaight.com">&nbsp;</a>
</div>
<div id="topmenu">
 <a href="/help.shtml">Help</a> |
 <a href="/sitemap.shtml">Site Map</a>
<div id="fontsize"> | Text size:

t/responses/reports_disabled.html  view on Meta::CPAN

    <link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
    <link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
    <link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
    <link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
    <script type="text/javascript" src="/js/script.js"></script>
</head>

<body>

    <div id="logo">
        <a href="/"><img src="/images/05logo.png" alt="[SpamCop.net - protecting the internet through technology]"
                width="288" height="40"></a><a
            onclick="return !confirm('WARNING - do not send email or you will be blocklisted');"
            href="mailto:bait-b14439c0-669f07c8@good.julianhaight.com">&nbsp;</a>
    </div>
    <div id="topmenu">
        <a href="/help.shtml">Help</a> |
        <a href="/sitemap.shtml">Site Map</a>
        <div id="fontsize"> | Text size:
            <a id="fontminus" href="javascript:fontMinus();">-</a>
            <a id="fontplus" href="javascript:fontPlus();">+</a>

t/responses/sendreport_form_ok.html  view on Meta::CPAN

<link rel="stylesheet" type="text/css" href="/images/05look.css">
<link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
<link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
<link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
<link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
<script type="text/javascript" src="/js/script.js"></script>
</head>
<body>

<div id="logo">
<a href="/"><img src="/images/05logo.png"
  alt="[SpamCop.net - protecting the internet through technology]"
  width="288"
  height="40"></a><a
  onclick="return !confirm('WARNING - do not send email or you will be blocklisted');"
  href="mailto:bait-bb23ec55-6182f192@good.julianhaight.com">&nbsp;</a>
</div>
<div id="topmenu">
 <a href="/help.shtml">Help</a> |
 <a href="/sitemap.shtml">Site Map</a>
<div id="fontsize"> | Text size:

t/responses/sequence/1.html  view on Meta::CPAN

<link rel="stylesheet" type="text/css" href="/images/05look.css">
<link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
<link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
<link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
<link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
<script type="text/javascript" src="/js/script.js"></script>
</head>
<body>

<div id="logo">
<a href="/"><img src="/images/05logo.png"
  alt="[SpamCop.net - protecting the internet through technology]"
  width="288"
  height="40"></a><a
  onclick="return !confirm('WARNING - do not send email or you will be blocklisted');"
  href="mailto:bait-bb23ecda-619e2662@good.julianhaight.com">&nbsp;</a>
</div>
<div id="topmenu">
 <a href="/help.shtml">Help</a> |
 <a href="/sitemap.shtml">Site Map</a>
<div id="fontsize"> | Text size:

t/responses/sequence/2.html  view on Meta::CPAN

<link rel="stylesheet" type="text/css" href="/images/05look.css">
<link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
<link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
<link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
<link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
<script type="text/javascript" src="/js/script.js"></script>
</head>
<body>

<div id="logo">
<a href="/"><img src="/images/05logo.png"
  alt="[SpamCop.net - protecting the internet through technology]"
  width="288"
  height="40"></a><a
  onclick="return !confirm('WARNING - do not send email or you will be blocklisted');"
  href="mailto:bait-bb23ecda-619e2669@good.julianhaight.com">&nbsp;</a>
</div>
<div id="topmenu">
 <a href="/help.shtml">Help</a> |
 <a href="/sitemap.shtml">Site Map</a>
<div id="fontsize"> | Text size:

t/responses/sequence/3.html  view on Meta::CPAN

<link rel="stylesheet" type="text/css" href="/images/05look.css">
<link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
<link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
<link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
<link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
<script type="text/javascript" src="/js/script.js"></script>
</head>
<body>

<div id="logo">
<a href="/"><img src="/images/05logo.png"
  alt="[SpamCop.net - protecting the internet through technology]"
  width="288"
  height="40"></a><a
  onclick="return !confirm('WARNING - do not send email or you will be blocklisted');"
  href="mailto:bait-bb23ecda-619e2674@good.julianhaight.com">&nbsp;</a>
</div>
<div id="topmenu">
 <a href="/help.shtml">Help</a> |
 <a href="/sitemap.shtml">Site Map</a>
<div id="fontsize"> | Text size:

t/responses/sequence/4.html  view on Meta::CPAN

<link rel="stylesheet" type="text/css" href="/images/05look.css">
<link rel="alternate stylesheet" type="text/css" href="/images/xsmall.css" title="XSmall">
<link rel="alternate stylesheet" type="text/css" href="/images/small.css" title="Small">
<link rel="alternate stylesheet" type="text/css" href="/images/large.css" title="Large">
<link rel="alternate stylesheet" type="text/css" href="/images/xlarge.css" title="XLarge">
<script type="text/javascript" src="/js/script.js"></script>
</head>
<body>

<div id="logo">
<a href="/"><img src="/images/05logo.png"
  alt="[SpamCop.net - protecting the internet through technology]"
  width="288"
  height="40"></a><a
  onclick="return !confirm('WARNING - do not send email or you will be blocklisted');"
  href="mailto:bait-bb23ecda-619e267b@good.julianhaight.com">&nbsp;</a>
</div>
<div id="topmenu">
 <a href="/help.shtml">Help</a> |
 <a href="/sitemap.shtml">Site Map</a>
<div id="fontsize"> | Text size:



( run in 2.517 seconds using v1.01-cache-2.11-cpan-df04353d9ac )