Convenient standalone SMTP + POP3 config for developers

68 views
Skip to first unread message

Joshua Hansen

unread,
Jan 19, 2015, 2:41:17 PM1/19/15
to mir...@googlegroups.com
Hi all,

We needed a standalone SMTP + POP3 config for developers.  The goal was to have a local e-mail server which could accept SMTP from applications during development, and allow the results to viewed in standard e-mail clients by connecting via POP3.  We specifically did not want e-mail to be transmitted outside of the local system.

We were able to accomplish all goals using Mireka.  We share the configuration here.

Configuration overview:
* Configure a global user (a.k.a. "Maildrop")
* Disable forwarding
* Replace TransmitterDestination with MaildropDestination.

Using:
* Configure development application for SMTP using port 587 (not port 25)

See following diffs for specific changes we made against mireka-4.1.1.zip.

Josh

============================================================
--- mireka-4.1.1/conf/domains.js    10295d7a39e9513e403ef4f4d20c387ecd3054e5
+++ mireka-4.1.1/conf/domains.js    77fa83d56b7dbf9f2e11d234866232a8751a9d77
@@ -5,7 +5,7 @@ localDomains = setup(InlineDomainRegistr
 
 localDomains
= setup(InlineDomainRegistry, {
     remoteParts
: [
-        // "example.com",
+        "example.com",
         
// "[192.0.2.0]",
     
]
 
});
============================================================
--- mireka-4.1.1/conf/global-users.js    4a28450caf2fc424baa6c4e02acae3d728128f2a
+++ mireka-4.1.1/conf/global-users.js    8e1a3c2ce0a15e6280934d449deac7ffcd1e62de
@@ -10,7 +10,6 @@ globalUsers = setup(GlobalUsers, { users
     globalUser
("john", "changeit"),
 
*/
 globalUsers = setup(GlobalUsers, { users: [
+    globalUser("dev", "123456"),
 
-
-
 ]});
============================================================
--- mireka-4.1.1/
conf/local-recipients.js    4a85f5c40017cc64049fbeb9f8618eb1e0d4dd89
+++ mireka-4.1.1/conf/local-recipients.js    84d77a089f2d94a11d659e05979c1964de763721
@@ -14,8 +14,6 @@ localRecipientDestinations = deepList([
         ENTER YOUR RECIPIENT
-DESTINATION MAPPINGS HERE
     
*/
     
-    
-    
     /
*
         comment
out if POP service is not active
     
*/
@@ -35,14 +33,14 @@ localRecipientDestinations = deepList([
         another server.
     */
     setup(PostmasterAliasMapper, {
-        canonical: "jo...@example.com"
+        canonical: "d...@example.com"
     }),
     
     /*
         comment out if forwarding is not used
     */
-    setup(RecipientSpecificationDestinationPair, {
+    /*setup(RecipientSpecificationDestinationPair, {
         recipientSpecification: setup(SrsRecipientSpecification),
         destination: setup(SrsDestination)
-    }),
+    }),*/
 ]);
============================================================
--- mireka-4.1.1/
conf/submission/submission.js    0aaaae4c791998d441052399bf7d421194794274
+++ mireka-4.1.1/conf/submission/submission.js    00a9b55c4c2f35560caccae87aee8e014ea7f013
@@ -28,12 +28,20 @@ submissionRecipientTable = setup(Recipie
         
*/
         setup(RecipientSpecificationDestinationPair, {
             recipientSpecification: setup(AnyRecipient),
+
+            /
*
+                An attempt to configure a catch-all.
+            */
+            destination: setup(MaildropDestination, {
+                maildropName: "dev",
+                maildropRepository: maildropRepository
+            }),
             
             /
*
                 comment
out if all mails will be
                 relayed through the backend server
             
*/
-            destination: setup(TransmitterDestination),
+            /
*destination: setup(TransmitterDestination),*/
                     
             
/*
                 uncomment to relay all mail to
============================================================
--- README-MIREKA.txt    empty file
+++ README-MIREKA.txt    420c447577825be0f1ae978c9c459f7b5fdcb492
@@ -0,0 +1,30 @@
+Mireka
+======
+
+Mireka is a standalone SMTP + POP3 server.  
+
+SMTP is used to send e-mail, while POP3 is used to retrieve it.  This configuration of Mireka redirect all incoming SMTP e-mails to a 'd...@example.com' user configured in Mireka, regardless of actual recipient or sender address.  These e-mails can be retrieved via POP3 using the same 'dev' account.
+
+To use:
+* Run 'mireka-.../bin/start.bat' to start the server.
+    * Logs are located in mireka-.../log
+
+* Configure the development environment sending e-mails:
+    SMTP server: 127.0.0.1
+    Port: 587  (Note: Mireka will reject e-mails on port 25 as 'Relay denied ...')
+    Connection security: None
+    Authentication method: "No authentication"
+
+* Configure an e-mail POP3 client to access the server:
+    Server: 127.0.0.1
+    Port: 110 (Standard unencrypted POP3 port)
+    User name: dev
+    Password: 123456
+    Connection security: None
+    Authentication method: "Password, transmitted insecurely"
+
+* Testing:
+    * Disconnect all network connections before testing, to make sure the correct accounts, etc. are being used.
+    * Use the standalone client to send an e-mail through Mireka to 'd...@example.com'.  Then, retrieve the e-mail using the same client.
+    * Use the standalone client to send an e-mail through Mireka to 'some...@somewhere.com'.  Then, retrieve the e-mail using the same client; it should appear in the 'd...@example.com' inbox.
+    * Check logs to troubleshoot problems.



Hontvári Levente

unread,
Jan 19, 2015, 4:28:21 PM1/19/15
to mir...@googlegroups.com
Thank you for sharing the config and the story.

Levente
--

---
You received this message because you are subscribed to the Google Groups "Mireka mail server and SMTP proxy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mireka+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages