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.