Git Product home page Git Product logo

haraka-plugin-geoip's Introduction

Haraka - a Node.js Mail Server

Tests Coverage Status

Haraka is a highly scalable node.js email server with a modular plugin architecture. Haraka can serve thousands of concurrent connections and deliver thousands of messages per second. Haraka and plugins are written in asynchronous JS and are very fast.

Haraka has very good spam protection (see plugins) and works well as a filtering MTA. It also works well as a MSA running on port 587 with auth and dkim_sign plugins enabled.

Haraka makes no attempt to be a mail store (like Exchange or Postfix/Exim/Qmail), a LDA, nor an IMAP server (like Dovecot or Courier). Haraka is typically used with such systems.

Haraka has a scalable outbound mail delivery engine built in. Mail marked as relaying (such as via an auth plugin) is automatically queued for outbound delivery.

Getting Help

Screencast

Getting started with Haraka

Why Use Haraka?

Haraka's plugin architecture provides an easily extensible MTA that complements traditional MTAs that excel at managing mail stores but do not have sufficient filtering.

The plugin system makes it easy to code new features. A typical example is providing qmail-like extended addresses to an Exchange system, whereby you could receive mail as [email protected], and yet still have it correctly routed to [email protected]. This is a few lines of code in Haraka.

Plugins are provided for running mail through SpamAssassin, validating HELO names, checking DNS Blocklists, and many others.

Installing Haraka

Haraka requires node.js to run. Install Haraka with npm:

# If the second command gives "nobody" errors, uncomment & run the next command
# npm -g config set user root
npm install -g Haraka

After installation, use the haraka binary to set up the service.

Running Haraka

First, create the service:

haraka -i /path/to/haraka_test

That creates the directory haraka_test with config and plugin directories within. It also sets the host name used by Haraka to the output of hostname.

If hostname is not correct, edit config/host_list. For example, to receive mail addressed to [email protected], add domain.com to the config/host_list file.

Finally, start Haraka using root permissions:

haraka -c /path/to/haraka_test

And it will run.

Configure Haraka

To choose which plugins run, edit config/plugins. Plugins control the overall behaviour of Haraka. By default, only messages to domains listed in config/host_list will be accepted and then delivered via the smtp-forward plugin. Configure the destination in config/smtp_forward.ini.

Read the Fine Manual

haraka -h plugins/$name

The docs detail how each plugin is configured. After editing config/plugins, restart Haraka and enjoy!

Running from git

If you are unable to use npm to install Haraka, you can run from git by following these steps:

First clone the repository:

$ git clone https://github.com/haraka/Haraka.git
$ cd Haraka

Install Haraka's node.js dependencies locally:

$ npm install

Edit config/plugins and config/smtp.ini to specify the plugins and config you want.

Finally run Haraka:

$ node haraka.js

License and Author

Haraka is MIT licensed - see the LICENSE file for details.

Haraka is a project started by Matt Sergeant, a 10 year veteran of the email and anti-spam world. Previous projects have been the project leader for SpamAssassin and a hacker on Qpsmtpd.

haraka-plugin-geoip's People

Contributors

analogic avatar auspexeu avatar greenkeeper[bot] avatar lgtm-com[bot] avatar lnedry avatar msimerson avatar smfreegard avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

haraka-plugin-geoip's Issues

An in-range update of eslint-plugin-haraka is breaking the build ๐Ÿšจ

The devDependency eslint-plugin-haraka was updated from 1.0.9 to 1.0.10.

๐Ÿšจ View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-haraka is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • โœ… continuous-integration/appveyor/branch: AppVeyor build succeeded (Details).
  • โŒ continuous-integration/travis-ci/push: The Travis CI build failed (Details).

FAQ and help

There is a collection of frequently asked questions. If those donโ€™t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot ๐ŸŒด

Plugin geoip failed

system info

Haraka Haraka.js โ€” Version: 2.8.16
Node v6.14.2
OS Linux mx.bluestreak.net 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
openssl OpenSSL 1.0.2k-fips 26 Jan 2017

Expected behavior

No crash

Observed behavior

[CRIT] [E0501D5A-009E-408B-8368-6D159F18F798.1] [core] Plugin geoip failed: TypeError: Cannot read property 'iso_ode' of undefined
at Plugin.exports.originating_headers (/usr/lib/node_modules/Haraka/node_modules/haraka-plugin-geoip/index.js:309:38)
at Plugin.exports.add_headers (/usr/lib/node_modules/Haraka/node_modules/haraka-plugin-geoip/index.js:184:19)
at Object.plugins.run_next_hook (/usr/lib/node_modules/Haraka/plugins.js:506:28)
at callback (/usr/lib/node_modules/Haraka/plugins.js:462:32)
at Plugin.exports.hook_data_post (/usr/lib/node_modules/Haraka/node_modules/haraka-plugin-p0f/index.js:248:16)
at Object.plugins.run_next_hook (/usr/lib/node_modules/Haraka/plugins.js:506:28)
at Object.plugins.run_hooks (/usr/lib/node_modules/Haraka/plugins.js:421:13)
at MessageStream.end_callback (/usr/lib/node_modules/Haraka/connection.js:1695:17)
at MessageStream._write (/usr/lib/node_modules/Haraka/messagestream.js:138:37)
at ChunkEmitter. (/usr/lib/node_modules/Haraka/messagestream.js:64:18)

Steps to reproduce

Fails when property 'iso_ode' is undefined

An in-range update of eslint-plugin-haraka is breaking the build ๐Ÿšจ

Version 1.0.6 of eslint-plugin-haraka just got published.

Branch Build failing ๐Ÿšจ
Dependency eslint-plugin-haraka
Current Version 1.0.5
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As eslint-plugin-haraka is โ€œonlyโ€ a devDependency of this project it might not break production or downstream projects, but โ€œonlyโ€ your build or test tools โ€“ preventing new deploys or publishes.

I recommend you give this issue a high priority. Iโ€™m sure you can resolve this ๐Ÿ’ช

Status Details
  • โœ… continuous-integration/appveyor/branch AppVeyor build succeeded Details
  • โŒ continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 6 commits.

  • 99d1051 bump version
  • 0906a4a reduce no-useless-escape to warn only
  • 968b392 SublimeLint breaks if you don't use full path (#4)
  • d6ab389 add node env to .eslintrc
  • c04dd99 add .eslintrc.json
  • 508f6b7 version bump 1.0.5

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot ๐ŸŒด

An in-range update of haraka-test-fixtures is breaking the build ๐Ÿšจ

Version 1.0.21 of haraka-test-fixtures just got published.

Branch Build failing ๐Ÿšจ
Dependency haraka-test-fixtures
Current Version 1.0.20
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As haraka-test-fixtures is โ€œonlyโ€ a devDependency of this project it might not break production or downstream projects, but โ€œonlyโ€ your build or test tools โ€“ preventing new deploys or publishes.

I recommend you give this issue a high priority. Iโ€™m sure you can resolve this ๐Ÿ’ช

Status Details
  • โŒ continuous-integration/appveyor/branch Waiting for AppVeyor build to complete Details
  • โŒ continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 2 commits ahead by 2, behind by 4.

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot ๐ŸŒด

An in-range update of eslint is breaking the build ๐Ÿšจ

Version 4.0.0 of eslint just got published.

Branch Build failing ๐Ÿšจ
Dependency eslint
Current Version 3.19.0
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As eslint is โ€œonlyโ€ a devDependency of this project it might not break production or downstream projects, but โ€œonlyโ€ your build or test tools โ€“ preventing new deploys or publishes.

I recommend you give this issue a high priority. Iโ€™m sure you can resolve this ๐Ÿ’ช

Status Details
  • โœ… continuous-integration/appveyor/branch AppVeyor build succeeded Details
  • โŒ continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes v4.0.0
  • 4aefb49 Chore: avoid using deprecated rules on ESLint codebase (#8708) (Teddy Katz)
  • 389feba Chore: upgrade deps. (#8684) (่–›ๅฎš่ฐ”็š„็Œซ)
  • 3da7b5e Fix: Semi-Style only check for comments when tokens exist (fixes #8696) (#8697) (Reyad Attiyat)
  • 3cfe9ee Fix: Add space between async and param on fix (fixes #8682) (#8693) (Reyad Attiyat)
  • c702858 Chore: enable no-multiple-empty-lines on ESLint codebase (#8694) (Teddy Katz)
  • 34c4020 Update: Add support for parens on left side for-loops (fixes: #8393) (#8679) (Victor Hom)
  • 735cd09 Docs: Correct the comment in an example for no-mixed-requires (#8686) (Fangzhou Li)
  • 026f048 Chore: remove dead code from prefer-const (#8683) (Teddy Katz)
Commits

The new version differs by 119 commits.

  • c61194f 4.0.0
  • 821a1e6 Build: changelog update for 4.0.0
  • 4aefb49 Chore: avoid using deprecated rules on ESLint codebase (#8708)
  • 389feba Chore: upgrade deps. (#8684)
  • 3da7b5e Fix: Semi-Style only check for comments when tokens exist (fixes #8696) (#8697)
  • 3cfe9ee Fix: Add space between async and param on fix (fixes #8682) (#8693)
  • c702858 Chore: enable no-multiple-empty-lines on ESLint codebase (#8694)
  • 34c4020 Update: Add support for parens on left side for-loops (fixes: #8393) (#8679)
  • 735cd09 Docs: Correct the comment in an example for no-mixed-requires (#8686)
  • 026f048 Chore: remove dead code from prefer-const (#8683)
  • a8e1c1c 4.0.0-rc.0
  • 1768dc0 Build: changelog update for 4.0.0-rc.0
  • 0058b0f Update: add --fix to no-debugger (#8660)
  • b4daa22 Docs: Note to --fix option for strict rule (#8680)
  • 4df33e7 Chore: check for root:true in project sooner (fixes #8561) (#8638)

There are 119 commits in total.

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot ๐ŸŒด

An in-range update of haraka-test-fixtures is breaking the build ๐Ÿšจ

Version 1.0.12 of haraka-test-fixtures just got published.

Branch Build failing ๐Ÿšจ
Dependency haraka-test-fixtures
Current Version 1.0.11
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As haraka-test-fixtures is โ€œonlyโ€ a devDependency of this project it might not break production or downstream projects, but โ€œonlyโ€ your build or test tools โ€“ preventing new deploys or publishes.

I recommend you give this issue a high priority. Iโ€™m sure you can resolve this ๐Ÿ’ช


Status Details
  • โŒ continuous-integration/travis-ci/push The Travis CI build failed Details
Commits

The new version differs by 2 commits (ahead by 2, behind by 2).

  • 95661ae Appveyor - windows compatibility (#11)
  • 5f84c1f lint fixes (#10)

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot ๐ŸŒด

Maxmind module deprecates openSync call

New Haraka installation with geoip on will not start due exception:

2019-07-10 18:17:40.035270500  [CRIT] [-] [core] Error: Maxmind v2 module has changed API.
2019-07-10 18:17:40.035314500  [CRIT] [-] [core] Upgrade instructions can be found here: https://github.com/runk/node-maxmind/wiki/Migration-guide
2019-07-10 18:17:40.035357500  [CRIT] [-] [core] If you want to use legacy libary then explicitly install maxmind@1
2019-07-10 18:17:40.035399500  [CRIT] [-] [core]     at Object.exports.openSync (/usr/lib/node_modules/Haraka/node_modules/maxmind/lib/index.js:38:11)
2019-07-10 18:17:40.035440500  [CRIT] [-] [core]     at forEach (/usr/lib/node_modules/Haraka/node_modules/haraka-plugin-geoip/index.js:71:44)
2019-07-10 18:17:40.035482500  [CRIT] [-] [core]     at Array.forEach (<anonymous>)
2019-07-10 18:17:40.035529500  [CRIT] [-] [core]     at Plugin.exports.load_dbs (/usr/lib/node_modules/Haraka/node_modules/haraka-plugin-geoip/index.js:66:23)
2019-07-10 18:17:40.035571500  [CRIT] [-] [core]     at Plugin.exports.register (/usr/lib/node_modules/Haraka/node_modules/haraka-plugin-geoip/index.js:16:10)
2019-07-10 18:17:40.035615500  [CRIT] [-] [core]     at Object.plugins._register_plugin.plugin [as _register_plugin] (/usr/lib/node_modules/Haraka/plugins.js:376:12)
2019-07-10 18:17:40.035657500  [CRIT] [-] [core]     at Object.plugins.load_plugin.name [as load_plugin] (/usr/lib/node_modules/Haraka/plugins.js:350:17)
2019-07-10 18:17:40.035699500  [CRIT] [-] [core]     at plugin_list.forEach.plugin (/usr/lib/node_modules/Haraka/plugins.js:322:17)
2019-07-10 18:17:40.035740500  [CRIT] [-] [core]     at Array.forEach (<anonymous>)
2019-07-10 18:17:40.035782500  [CRIT] [-] [core]     at Object.plugins.load_plugins.override [as load_plugins] (/usr/lib/node_modules/Haraka/plugins.js:321:17)
2019-07-10 18:17:40.039142500  [NOTICE] [-] [core] Shutting down

see:
https://github.com/runk/node-maxmind/blob/0e057f104cccc3b163b253df34b7dced749d7bec/src/index.ts#L59

haraka-plugin-geoip-lite

Where is the code for the lite version of this package? It seems to be outdated even though it's pushed to npm under the most recent version of the non-lite package.

Version 10 of node.js has been released

Version 10 of Node.js (code name Dubnium) has been released! ๐ŸŽŠ

To see what happens to your code in Node.js 10, Greenkeeper has created a branch with the following changes:

  • Added the new Node.js version to your .travis.yml

If youโ€™re interested in upgrading this repo to Node.js 10, you can open a PR with these changes. Please note that this issue is just intended as a friendly reminder and the PR as a possible starting point for getting your code running on Node.js 10.

More information on this issue

Greenkeeper has checked the engines key in any package.json file, the .nvmrc file, and the .travis.yml file, if present.

  • engines was only updated if it defined a single version, not a range.
  • .nvmrc was updated to Node.js 10
  • .travis.yml was only changed if there was a root-level node_js that didnโ€™t already include Node.js 10, such as node or lts/*. In this case, the new version was appended to the list. We didnโ€™t touch job or matrix configurations because these tend to be quite specific and complex, and itโ€™s difficult to infer what the intentions were.

For many simpler .travis.yml configurations, this PR should suffice as-is, but depending on what youโ€™re doing it may require additional work or may not be applicable at all. Weโ€™re also aware that you may have good reasons to not update to Node.js 10, which is why this was sent as an issue and not a pull request. Feel free to delete it without comment, Iโ€™m a humble robot and wonโ€™t feel rejected ๐Ÿค–


FAQ and help

There is a collection of frequently asked questions. If those donโ€™t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot ๐ŸŒด

An in-range update of haraka-test-fixtures is breaking the build ๐Ÿšจ

Version 1.0.20 of haraka-test-fixtures just got published.

Branch Build failing ๐Ÿšจ
Dependency haraka-test-fixtures
Current Version 1.0.19
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As haraka-test-fixtures is โ€œonlyโ€ a devDependency of this project it might not break production or downstream projects, but โ€œonlyโ€ your build or test tools โ€“ preventing new deploys or publishes.

I recommend you give this issue a high priority. Iโ€™m sure you can resolve this ๐Ÿ’ช

Status Details
  • โŒ continuous-integration/appveyor/branch AppVeyor build failed Details
  • โŒ continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 6 commits ahead by 6, behind by 1.

  • 6432dbb update eslint with es6 declaration
  • e768f99 travis-ci: node 4 -> 8
  • 450ad00 sprinkle some es6 around
  • 069e01c use haraka-notes
  • f32da45 fix appveyor image URL (#23)
  • 0530cd3 remove version from haraka-results (#22)

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot ๐ŸŒด

An in-range update of eslint is breaking the build ๐Ÿšจ

The devDependency eslint was updated from 5.16.0 to 6.0.0.

๐Ÿšจ View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • โœ… continuous-integration/appveyor/branch: AppVeyor build succeeded (Details).
  • โŒ continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Release Notes for v6.0.0
  • 81aa06b Upgrade: [email protected] (#11869) (Teddy Katz)
  • 5f022bc Fix: no-else-return autofix produces name collisions (fixes #11069) (#11867) (Milos Djermanovic)
  • ded9548 Fix: multiline-comment-style incorrect message (#11864) (golopot)
  • cad074d Docs: Add JSHint W047 compat to no-floating-decimal (#11861) (Timo Tijhof)
  • 41f6304 Upgrade: sinon (#11855) (Toru Nagashima)
  • 167ce87 Chore: remove unuseable profile command (#11854) (Toru Nagashima)
  • c844c6f Fix: max-len properly ignore trailing comments (fixes #11838) (#11841) (ZYSzys)
  • 1b5661a Fix: no-var should not fix variables named 'let' (fixes #11830) (#11832) (Milos Djermanovic)
  • 4d75956 Build: CI with Azure Pipelines (#11845) (Toru Nagashima)
  • 1db3462 Chore: rm superfluous argument & fix perf-multifiles-targets (#11834) (่–›ๅฎš่ฐ”็š„็Œซ)
  • c57a4a4 Upgrade: @babel/polyfill => core-js v3 (#11833) (่–›ๅฎš่ฐ”็š„็Œซ)
  • 65faa04 Docs: Clarify prefer-destructuring array/object difference (fixes #9970) (#11851) (Oliver Sieweke)
  • 81c3823 Fix: require-atomic-updates reports parameters (fixes #11723) (#11774) (Toru Nagashima)
  • aef8ea1 Sponsors: Sync README with website (ESLint Jenkins)
Commits

The new version differs by 134 commits.

  • a7985a6 6.0.0
  • be74dd9 Build: changelog update for 6.0.0
  • 81aa06b Upgrade: [email protected] (#11869)
  • 5f022bc Fix: no-else-return autofix produces name collisions (fixes #11069) (#11867)
  • ded9548 Fix: multiline-comment-style incorrect message (#11864)
  • cad074d Docs: Add JSHint W047 compat to no-floating-decimal (#11861)
  • 41f6304 Upgrade: sinon (#11855)
  • 167ce87 Chore: remove unuseable profile command (#11854)
  • c844c6f Fix: max-len properly ignore trailing comments (fixes #11838) (#11841)
  • 1b5661a Fix: no-var should not fix variables named 'let' (fixes #11830) (#11832)
  • 4d75956 Build: CI with Azure Pipelines (#11845)
  • 1db3462 Chore: rm superfluous argument & fix perf-multifiles-targets (#11834)
  • c57a4a4 Upgrade: @babel/polyfill => core-js v3 (#11833)
  • 65faa04 Docs: Clarify prefer-destructuring array/object difference (fixes #9970) (#11851)
  • 81c3823 Fix: require-atomic-updates reports parameters (fixes #11723) (#11774)

There are 134 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those donโ€™t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot ๐ŸŒด

An in-range update of eslint-plugin-haraka is breaking the build ๐Ÿšจ

The devDependency eslint-plugin-haraka was updated from 1.0.11 to 1.0.12.

๐Ÿšจ View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-haraka is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • โœ… continuous-integration/appveyor/branch: AppVeyor build succeeded (Details).
  • โŒ continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Commits

The new version differs by 1 commits.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those donโ€™t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot ๐ŸŒด

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.