|
@@ -98,11 +98,39 @@ To build, you will need to install the following Go libs:
|
|
|
|
|
|
Rename goguerrilla.conf.sample to goguerrilla.conf
|
|
Rename goguerrilla.conf.sample to goguerrilla.conf
|
|
|
|
|
|
-Setup the following database:
|
|
|
|
|
|
+Setup the following table:
|
|
|
|
+(The vanilla saveMail function also uses Redis)
|
|
|
|
+
|
|
|
|
+ CREATE TABLE IF NOT EXISTS `new_mail` (
|
|
|
|
+ `mail_id` int(11) NOT NULL auto_increment,
|
|
|
|
+ `date` datetime NOT NULL,
|
|
|
|
+ `from` varchar(128) character set latin1 NOT NULL,
|
|
|
|
+ `to` varchar(128) character set latin1 NOT NULL,
|
|
|
|
+ `subject` varchar(255) NOT NULL,
|
|
|
|
+ `body` text NOT NULL,
|
|
|
|
+ `charset` varchar(32) character set latin1 NOT NULL,
|
|
|
|
+ `mail` longblob NOT NULL,
|
|
|
|
+ `spam_score` float NOT NULL,
|
|
|
|
+ `hash` char(32) character set latin1 NOT NULL,
|
|
|
|
+ `content_type` varchar(64) character set latin1 NOT NULL,
|
|
|
|
+ `recipient` varchar(128) character set latin1 NOT NULL,
|
|
|
|
+ `has_attach` int(11) NOT NULL,
|
|
|
|
+ `ip_addr` varchar(15) NOT NULL,
|
|
|
|
+ `delivered` bit(1) NOT NULL default b'0',
|
|
|
|
+ `attach_info` text NOT NULL,
|
|
|
|
+ `dkim_valid` tinyint(4) default NULL,
|
|
|
|
+ PRIMARY KEY (`mail_id`),
|
|
|
|
+ KEY `to` (`to`),
|
|
|
|
+ KEY `hash` (`hash`),
|
|
|
|
+ KEY `date` (`date`)
|
|
|
|
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8
|
|
|
|
+
|
|
|
|
|
|
Configuration
|
|
Configuration
|
|
============================================
|
|
============================================
|
|
-The configuration is in strict JSON format. Here is an annotated configuration
|
|
|
|
|
|
+The configuration is in strict JSON format. Here is an annotated configuration.
|
|
|
|
+Copy goguerrilla.conf.sample to goguerrilla.conf
|
|
|
|
+
|
|
|
|
|
|
{
|
|
{
|
|
"GM_ALLOWED_HOSTS":"example.com,sample.com,foo.com,bar.com", // which domains accept mail
|
|
"GM_ALLOWED_HOSTS":"example.com,sample.com,foo.com,bar.com", // which domains accept mail
|
|
@@ -133,11 +161,11 @@ Nginx can be used to proxy SMTP traffic for GoGuerrilla SMTPd
|
|
|
|
|
|
Why proxy SMTP?
|
|
Why proxy SMTP?
|
|
|
|
|
|
- - Terminate TLS connections: Golang is not there yet when it comes to TLS.
|
|
|
|
|
|
+ * Terminate TLS connections: Golang is not there yet when it comes to TLS.
|
|
At present, only a partial implementation of TLS is provided (as of Nov 2012).
|
|
At present, only a partial implementation of TLS is provided (as of Nov 2012).
|
|
OpenSSL on the other hand, used in Nginx, has a complete implementation of
|
|
OpenSSL on the other hand, used in Nginx, has a complete implementation of
|
|
SSL v2/v3 and TLS protocols.
|
|
SSL v2/v3 and TLS protocols.
|
|
-- Could be used for load balancing and authentication in the future.
|
|
|
|
|
|
+ * Could be used for load balancing and authentication in the future.
|
|
|
|
|
|
The following Nginx proxy configuration:
|
|
The following Nginx proxy configuration:
|
|
|
|
|