Sieve email filtering language (RFC 5228) implementation in Go.

go-sieve

Sieve email filtering language (RFC 5228) implementation in Go.

Extensions

  • envelope (RFC 5228)
  • fileinto (RFC 5228)

Example

package main

import (
	"context"
	"strings"

	"github.com/foxcpp/go-sieve"
	"github.com/foxcpp/go-sieve/interp"
)

func main() {
	const script = `
require "fileinto";
if header :contains "subject" "rich" {
    fileinto "Junk";
}
`

	parsed, _ := sieve.Load(strings.NewReader(script), sieve.DefaultOptions())
	data := interp.NewRuntimeData(
		parsed,
		interp.Callback{},
	)
	parsed.Execute(context.Background(), data)
	// inspect RuntimeData for results
}
Owner
Max Mazurov
Main developer and sole maintainer of maddy mail server. Co-maintainer of numerous Go email libraries.
Max Mazurov
Similar Resources

✉️ A Go library for email verification without sending any emails.

email-verifier ✉️ A Go library for email verification without sending any emails. Features Email Address Validation: validates if a string contains a

Jun 24, 2021

End-to-end encrypted email for the mesh networking age

Yggmail It's email, but not as you know it. Introduction Yggmail is a single-binary all-in-one mail transfer agent which sends and receives email nati

Jan 2, 2023

envio de email via SMTP com anexo usando Go

gosendmail - SMTP This repo is a simple net/smtp abstraction for sending emails using SMTP. With it we can send emails With copy, with blind copy and

Aug 18, 2022

a simple api that sent spam via sms and email

a simple api that sent spam via sms and email routes: /sms /email example request with python

Oct 19, 2021

📮 Simple (but useful) email sender written in pure Go v1.17. Support HTML templates and attachments.

📮 Go Email Sender Simple (but useful) email sender written in pure Go v1.17. Yes, yet another email package here! 😅 Support HTML templates and attac

Dec 31, 2021

Monitoring and automation for Open Source email servers, starting with Postfix.

Monitoring and automation for Open Source email servers, starting with Postfix.

Welcome to Lightmeter Control Center, the Open Source mailops monitoring application.

Dec 19, 2022

Experimental email attachment downloader for Kobo devices (gmail only ATM)

KoboMail Experimental email attachment downloader for Kobo devices (gmail only ATM) What is KoboMail? It is a software that will read emails sent to u

Jan 9, 2023

In this project I just created email-verification Code.

mail-verification In this project I just created email-verification Code. Setup Before run the program. Type go mod tidy on terminal. After that chang

Nov 4, 2021

aerc is an email client for your terminal.

aerc aerc is an email client for your terminal. This is a fork of the original aerc by Drew DeVault. A short demonstration can be found on https://aer

Dec 14, 2022
Comments
  • [EPIC] Extensions support

    [EPIC] Extensions support

    Standard extensions

    • [ ] copy (RFC 3894)
    • [ ] body (RFC 5173)
    • [ ] environment (RFC 5183)
    • [ ] variables (RFC 5229)
    • [ ] vacation (RFC 5230)
    • [ ] vacation-seconds (RFC 6131)
    • [ ] relational (RFC 5231)
    • [ ] imap4flags (RFC 5232)
    • [ ] subaddress (RFC 5233)
    • [ ] spamtest and virustest (RFC 5235)
    • [ ] date (RFC 5260; Section 4)
    • [ ] index (RFC 5260; Section 6)
    • [ ] editheader (RFC 5293)
    • [ ] reject (RFC 5429; Section 2.2)
    • [ ] enotify (RFC 5435)
      • [ ] mailto method (RFC 5436)
      • [ ] xmpp method (RFC 5437)
    • [ ] ihave (RFC 5463)
    • [ ] mailbox (RFC 5490; Section 3)
    • [ ] mboxmetadata and servermetadata (RFC 5490)
    • [ ] foreverypart (RFC 5703; Section 3)
    • [ ] mime (RFC 5703; Section 4)
    • [ ] extracttext (RFC 5703; Section 7)
    • [ ] include (RFC 6609)
    • [ ] imapsieve (RFC 6785)
    • [ ] duplicate (RFC 7352
    • [ ] regex (draft v08; not latest version)
    • [ ] ereject (RFC 5429; Section 2.1)
    • [ ] replace (RFC 5703; Section 5)
    • [ ] enclose (RFC 5703; Section 6)
    • [ ] envelope-dsn, envelope-deliverby, redirect-dsn and redirect-deliverby (RFC 6009)
    • [ ] extlists (RFC 6134)
    • [ ] convert (RFC 6558)

    Obsolete extensions

    • [ ] imapflags (obsolete draft)
    • [ ] notify (obsolete draft)

    Non-standard extensions

    Probably makes sense to be compatible with some of Dovecot's extensions.

    • [ ] vnd.dovecot.debug
    • [ ] vnd.dovecot.environment
    • [ ] vnd.dovecot.execute
    • [ ] vnd.dovecot.filter
    • [ ] vnd.dovecot.pipe
    • [ ] vnd.dovecot.report
Email-searcher - Given a domain name and real name, attempt to find an existing email for that user.

email-searcher Given a domain name and real name, attempt to find an existing email for that user. Using Run it with both the domain and name flags, l

Jan 2, 2022
Sending emails using email server talking to RabbitMQ and send grid server sending emails to email ids consumed from RabbitMQ
Sending emails using email server talking to RabbitMQ and send grid server sending emails to email ids consumed from RabbitMQ

Sending emails using email server talking to RabbitMQ and send grid server sending emails to email ids consumed from RabbitMQ

Oct 27, 2022
Filtering spam in mail server, protecting both client privacy and server algorithm

HE Spamfilter SNUCSE 2021 "Intelligent Computing System Design Project" Hyesun Kwak Myeonghwan Ahn Dongwon Lee abstract Naïve Bayesian spam filtering

Mar 23, 2022
Go implementation of the JWZ email threading algorithm
Go implementation of the JWZ email threading algorithm

The JWZ Threading algorithm written in Go This is an open source Go implementation of the widely known JWZ message threading algorithm originally writ

Oct 31, 2022
Robust and flexible email library for Go

email Robust and flexible email library for Go Email for humans The email package is designed to be simple to use, but flexible enough so as not to be

Dec 30, 2022
:white_check_mark: A Go library for email verification without sending any emails.

email-verifier ✉️ A Go library for email verification without sending any emails. Features Email Address Validation: validates if a string contains a

Dec 30, 2022
Golang package for send email. Support keep alive connection, TLS and SSL. Easy for bulk SMTP.

Go Simple Mail The best way to send emails in Go with SMTP Keep Alive and Timeout for Connect and Send. IMPORTANT Examples in this README are for v2.2

Jan 8, 2023
An email MIME artist for golang

Marcel is a tool to generate IETF compliant emails in raw MIME format. I mainly use this for generating emails with attachments and sending them via amazon SES. If that's what you're doing too, you may want notifications

Nov 7, 2022
:incoming_envelope: Simple email interface across multiple service providers (ses, postmark, mandrill, smtp)
:incoming_envelope: Simple email interface across multiple service providers (ses, postmark, mandrill, smtp)

go-mail Lightweight email package with multi-provider support (ses, mandrill, postmark) Table of Contents Installation Documentation Examples & Tests

Dec 10, 2022
EMail Searcher By Golang
EMail Searcher By Golang

GiveMeMail ▄████ ██▓ ██▒ ██▓ ▓██████ ███▄ ▄███▓▓██████ ███▄ ▄███▓ ██ ██▓ ██▓ ██▒ ▀█▒ ▓██▒ ▓██░ █▒ ▓█ ▀ ▓██▒▀█▀ ██▒▓█

Dec 4, 2021