OpenSource-Hub
H

Haraka

5.6k stars·개발 도구·SHA-256 체크섬 확인됨

확장 가능한 메일 필터링 및 전송을 위한 모듈식 플러그인 아키텍처를 갖춘 고성능 Node.js 메일 서버.

스마트 다운로드

프로젝트 홈페이지 방문

아직 설치 프로그램이 없습니다 — 소스 저장소로 이동하세요

Node.js 기반의 메일 서버로, 풍부한 플러그인과 높은 동시성을 갖추고 필터링 및 전달에 특화되어 있습니다.

주요 기능

  • 모듈식 플러그인 아키텍처로 기능을 손쉽게 확장
  • 고성능: 수천 개의 동시 연결, 초당 수천 통의 메일 배달
  • 아웃바운드 배달 엔진 내장, 릴레이 지원
  • 풍부한 공식 플러그인: 스팸 방지, DKIM, DNSBL 등
  • 경량 설계로 메일을 저장하지 않으며 필터링 및 전달 전용으로 설계됨

할 수 없는 것

  • •Haraka는 완전한 메일 시스템이 아니므로 메일 저장소(예: Dovecot, Exchange)와 함께 사용해야 합니다. 실행 시 25/587 포트를 바인딩하려면 root 권한이 필요합니다. 플러그인 구성은 비교적 유연하지만 문서를 숙지해야 합니다.

사용 사례

  • 회사 메일 시스템의 프런트엔드 필터링 게이트웨이로 사용
  • Exchange 또는 Postfix와 연동하여 메일 필터링 및 라우팅 처리
  • 사용자 정의 메일 처리 파이프라인 구축(예: 주소 재작성, 콘텐츠 스캔)
  • Qpsmtpd를 대체하거나 고성능 MSA로 사용

상세 설명

Haraka는 Node.js 기반의 확장성이 뛰어난 메일 서버로, 수천 개의 동시 연결을 처리하고 초당 수천 통의 이메일을 전송할 수 있습니다. 모듈화된 플러그인 아키텍처로 확장과 커스터마이징이 매우 쉬우며, 강력한 스팸 필터링 기능을 제공합니다. 메일 저장에 중점을 둔 기존 MTA와 달리 Haraka는 필터링 MTA 또는 메일 제출 에이전트(MSA)로서 Exchange, Postfix 등의 스토리지 시스템과 함께 사용하기에 적합합니다. 아웃바운드 전송 엔진이 내장되어 있어 릴레이 메일을 지원합니다. 플러그인은 DNS 블랙리스트, SpamAssassin, HELO 검증, DKIM 서명 등을 포함합니다. 유연하고 고성능의 메일 처리가 필요한 개발자와 운영자에게 적합합니다.

문제 해결 & FAQ (2)

문제 해결
서명이 비활성화된 dkim 플러그인을 사용할 때 Haraka 'Cannot pipe while currently piping' 오류를 수정하는 방법?

이 오류는 Haraka 3.1.4+에서 dkim 플러그인이 활성화되었지만 서명이 비활성화된 경우 발생합니다. 해결하려면 config 디렉토리에 dkim.ini 파일을 생성하여 [sign]
enabled = true
로 DKIM 서명을 활성화하거나, outbound/index.js에 다음 패치를 적용하여 전송 전에 setImmediate 지연을 추가하세요: await new Promise((resolve) => setImmediate(resolve)). 이렇게 하면 dkim 검증 스트림과 아웃바운드 큐 간의 파이프 충돌을 방지합니다. 이 문제는 이후 Haraka 릴리스에서 수정되었습니다.

원본 Issue #3551
문제 해결
Haraka에서 대기열 tmp 파일 이름을 변경할 때 'ENOENT: no such file or directory' 오류를 수정하는 방법?

일시적인 이 오류는 FsyncWriteStream의 문제로 인해 발생하며, Haraka 3.3.0에서 수정되었습니다. 문제를 해결하려면 Haraka 3.3.0 이상으로 업그레이드하세요. 업그레이드 후에도 오류가 지속되면 큐 디렉토리의 파일 시스템 권한이나 I/O 병목 현상을 확인하고, 상세 로그와 함께 Haraka 프로젝트에 문제를 보고하는 것을 고려하십시오.

원본 Issue #3386

태그

emailmail-servermtanodejsplugin

시작하기

1

설치 프로그램 다운로드

위 버튼을 클릭하여 시스템에 맞는 설치 프로그램을 다운로드

2

소프트웨어 설치

다운로드한 설치 프로그램을 더블 클릭하고 안내에 따르세요

3

1단계: Node.js가 설치되어 있는지 확인한 다음 npm install -g Haraka를 실행하세요

4

2단계: 서비스 디렉터리 생성: haraka -i /path/to/haraka_test

5

3단계: config/host_list를 편집하여 도메인을 추가하고, config/plugins를 편집하여 필요한 플러그인을 활성화하세요

설치 가이드
  1. 1단계: Node.js가 설치되어 있는지 확인한 다음 npm install -g Haraka를 실행하세요
  2. 2단계: 서비스 디렉터리 생성: haraka -i /path/to/haraka_test
  3. 3단계: config/host_list를 편집하여 도메인을 추가하고, config/plugins를 편집하여 필요한 플러그인을 활성화하세요
파일 무결성

체크섬 없음

이 프로젝트는 GitHub Release 페이지에 SHA-256 체크섬을 게시하지 않았습니다

SHA256 체크섬

체크섬 없음

GitHub Releases에서 직접 다운로드하고 파일 무결성을 직접 확인하세요

이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.

오픈소스 투명성

GitHub 소스 보기
환경 가이드

제거 정보

npm uninstall -g Haraka를 실행하여 전역 패키지를 제거한 다음 서비스 디렉터리를 삭제하십시오.

추가 의존성 없음

다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.

프로젝트 정보
라이선스MIT
마지막 업데이트2026-06-27 08:55:13
GitHub 저장소

문제 발생? 아래 FAQ 확인

2 FAQs

유사한 프로젝트