Skip to content

Coffeescript based SMTP service that parses inbound mail and deal with it in various ways

Notifications You must be signed in to change notification settings

YouMagine/ymsmtp

Repository files navigation

ymsmtp - YouMagine SMTP engine
	Written by Marius Karthaus @ LowVoice.nl for YouMagine

PREREQUISISTES
	apt-get install nodejs rsync screen npm swaks


ABOUT
	The ymsmtp is a nodeJS based smtp server build on top of the Haraka SMTP server. It is able to process hundreds of concurrent SMTP connections that contain 3D printer jobs. Incomming SMTP messages are parsed based on the rules defined in the code and dealt with accordingly. There is no store-and-forward, all the processing, submitting and error handling is done in one pass. The client will know if the submit succeeded from the protocol response. 

	@email 
		OK-> (email is received and submitted to ymsmtp parser)
			@parse
				OK-> (parse OK)
					@HTTP multipart POST
						OK -> (http server responded, and told us it accepted the POST. The user will be mailed by the HTTP platform)
							close smtp connection with 200 OK
						FAIL -> (http server failed to respond with proper reaction)
							respond with new Email to sender with failure details
							+
							SMTP protocol error reponse
						REJECT -> (http server responded, but told us it rejected the POST. The user will be mailed by the HTTP platform)
							SMTP protocol error reponse
				FAIL-> (failed to parse email)
					respond with new Email to sender with failure details
					+
					SMTP protocol error reponse
		FAIL-> (a fail at this point is probably a technical fail or spam, blocklists etc)
			SMTP protocol error reponse


DIRS:
	project
		All project code written or modified for ymsmtp
		NOTE: 	
			some of the resulting code is stored in the 'project/server' tree, they are meant to end up in the real servertree
			Also the server tree might have to undergo other modifications. TODO: write a script that does these fixes

	server
		The 'install dir' for Haraka
		NOTE: this dir contains some of the project targets that hook into Haraka

	node_modules
		as you might expect, the dir where standard npm installed packages reside:
			Haraka https://haraka.github.io/
			lodash https://lodash.com/
			form-data https://github.com/felixge/node-form-data


			

About

Coffeescript based SMTP service that parses inbound mail and deal with it in various ways

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published