SMTP server that saves all mail to a folder? [closed] - testing

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Are there any free SMTP servers that just accept the mail sent through them, and save it to your hard disk, without sending it to the recipient. I would like to use this for testing my applications. Instead of just waiting around for the mail to go through, it would be nice if all emails could just be dropped in a folder, so that I can look at them. I could put some hooks into my program to just save instead of sending the message, but I don't think it's a full test, if the code follows a different path. Are there any existing applications like this?
I figure this would be really helpful, because you could test the mail abilities without needing to wait for the mail server to deliver it, and so that you can code while you're offline, and don't have access to an actual mail server.
[EDIT]
I'm specifically using .Net, but I'm not using the default SMTP mail handling classes in .Net, because of how limited they were in .Net 1.1. We are using a third party library (chilkat). I know that things have changed since then, but the code is stable and works, so no point in rewriting against the .Net API now.
I would like something that works as an SMTP server specifically because I could use it in the future for whatever projects I worked on, no matter the language.

You can use the standard smtp settings in your app or web.config and just specify what folder you want the emails to go.
<smtp
deliveryMethod="specifiedPickupDirectory"
from="from address">
<specifiedPickupDirectory>Your folder here</specifiedPickupDirectory>
</smtp>
This allows you to simply store the emails without an smtp server

Papercut
Neptune
SMTP4Dev
Dumbster
DevNull SMTP
Taken from this question.

On windows you could use IIS server's default SMTP server. Add an alias to its domain for * (wildcard) should cause it to drop all mail forwarded to it into its drop folder.

It's fairly easy to do in sendmail or postfix - just configure the local delivery agent to be 'cat >> file'.

bit late on this one, but have you tried ssfd?
you can put it on your machine or on a network server, catches e-mails and pops them in a directory

There is the python DebuggingServer as well part of the standard library :
http://docs.python.org/library/smtpd.html#debuggingserver-objects
it will print everything on stdout.

Don't know about such "fake" SMTP servers, but in .NET you can force SmtpClient class to save outgoing mail to the specified directory.

I am years late to the party but this works great for me.
http://emailrelay.sourceforge.net/
Having the .net email client just save the email and not send it
does not answer the question if your code works. To tell if it works
you must actually send it.

Related

SSL Proxy / Decryption?

One of my clients just received the software ordered from his chosen developers, asked me to look at it and prepare the hosting procedures.
It's an Java (jar) app, so far so good ... but I saw something suspect, every 60 minutes or so the software connects to a remote host :443 port using SSL and transferring ~ 3-10 MB of encrypted data (as POST) then closes the connection, this is very strange. Tried to wireshark it but everything is encrypted and I have no clue about what kind of data is transferred, I know only the destination hostname. The hosted data within the app will be highly sensitive (insurance-broker) and if my client decides to go with it - this is a serious issue for his business and also for his clients, I've asked the developer company about this and they said that no one added something like this even if I provided them the proff (pcap).
I can block it within firewall, but if they added something like this it could exist another hosts ready to receive the encrypted data.
The only way I can figure it out is to somehow decrypt the SSL traffic in order to read RAW data and give my client all the needed informations in order to talk with the developer company to sort it out, how can I do that ? With some sort of ssl-proxy or whatever ... tried to google it but didn't find any kind of relevant tutorials.
I have access to the physical machine which is running the Java application, I can see every single bit of the traffic but ... encrypted.
If I was in your place instead of trying to decrypt ssl connection would have tried following steps:
1)Since you are aware of the host to which it is making a post request , find out more about that service so as to learn what it does ? May be try contacting that site saying that we need to consume your service what should I send my in post request ;)
2)Second way around would be if you can decompile the jar file and find line in the source code which makes that request and then you could go back to the developer asking as why this has been written. To find the source code which is making the call what you could do is block the host access on your firewall.
The code would fail and mostly probably he would have logged the exception in his log files. Find the stack trace and you will know the line of code that is
making that request.
Hope this helps.

phpmailer, requre() and include_path combined

After 5 long day trying to set up sending e-mail from php script, I finaly did it from my local server, i use apache.
From the host, i can't do it.
I get this error->
SMTP Error: Could not connect to SMTP host
So, I've searched around stack overflow, among others. I tried using SMTPSecure = 'ssl', did nothing. I checked is extension=php_openssl.dll commented out, but it doesn't even exist on my host. I mean, there is no file in php.ini named php_openssl.dll. There is only information that Openssl is installed under Curl section and what version is it. Under openssl section says that it is enabled. The same configuration is on my computer and on the host but mails wont be sent on host.
Thank you in advance for your answers.
Your host setup will be different to your local server, so you'll need a different configuration. It would seem your host has installed an email server. Unless you have set one up on your local machine, your PHP script, when using the same settings, will fail. Also, your host will probably have restrictions on it's email server, meaning you probably can't use it to send emails from your local server. (You should ask them). The alternative is outlined in this post:
How can I configure the mail function of PHP on Windows Vista?
If you are having trouble sending mail on your host, you should ask them for the details of how to connect to the email server. It is quite possible they restrict the use to stop spam mails being sent.

Is there an online LDAP emulator? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 months ago.
Improve this question
I'm doing some homework with LDAP that consists of creating LDIF files, adding them to the LDAP server, and afterwards performing some searches and viewing the results.
To avoid installing LDAP in my computer, I'm wondering if there exists some LDAP emulator online service where I can execute these instructions.
I've seen something similar with "online sql emulator", but not anything about LDAP.
Another alternative is the in-memory directory server provided by the UnboundID LDAP SDK, which I talk about here. There is no need to install a server. LdapListenerExample.java gives an example of how to use the in-memory directory server. The example shows how to create the server, start it listening, load schema files listed as command line options, and load a file containing LDIF into the server database.
Unfortunately, I'm not aware of such a thing.
As an alternative, I'd suggest you use OpenDS, which is very easy to deploy (e.g. via Install with QuickSetup) and to get rid of afterwards. It's import-ldif, make-ldif and export-ldif commands could be useful for your work.
I recently wrote godap - a very minimalistic LDAP server library in Go. It doesn't read LDIFs, but you can easily make it response to bind and search operations. (It also may provide insight into the LDAP protocol.)

exim configuration - accept all mail

I've just set up exim on my ubuntu computer. At the moment it will only accept email for accounts that exist on that computer but I would like it to accept all email (just because I'm interested). Unfortunately there seem to be a million exim related config files, and I'm not having much success finding anything on google.
Is there an introduction to exim for complete beginners?
Thanks.
There's a mailing list at http://www.exim.org/maillist.html. The problem you will face as an Ubuntu user is that there's always been a slight tension between Debian packagers/users and the main Exim user base because Debian chose to heavily customize their configuration. Their reasons for customizing it are sound, but it results in Debian users showing up on the main mailing list asking questions using terms that aren't recognizable to non-Debian users. Debian runs its own exim-dedicated help list (I don't have the address handy, but it's in the distro docs). Unfortunately this ends up causing you a problem because Ubuntu adopted all these packages from Debian, but doesn't support them in the same way as Debian does, and Debian packagers seem to feel put upon to be asked to support these Ubuntu users.
So, Ubuntu user goes to main Exim list and is told to ask their packager for help. So they go to the Debian lists and ask for help and may or may not be helped.
Now, to answer your original question, there are a ton of ways to do what you ask, and probably the best way for you is going to be specific to the Debian/Ubuntu configurations. However, to get you started, you could add something like this to your routers:
catchall:
driver = redirect
domains = +local_domains
data = youraddress#example.com
If you place that after your general alias/local delivery routers and before any forced-failure routers, that will redirect all mail to any unhandled local_part at any domain in local_domains to youraddress#example.com.
local_domain is a domain list defined in the standard exim config file. If you don't have it or an equivalent, you can replace it with a colon-delimited list of local domains, like "example.com:example.net:example.foo"
One of the reasons it's hard to get up to speed with Exim is that you can literally do anything with it (literally, someone on the list proved the expansion syntax is turing complete a few years ago, IIRC). So, for instance, you could use the above framework to look the domains up out of a file, to apply regular expressions against the local_parts to catch, save the mail to a file instead of redirecting to an address, put it in front of the routers and use "unseen" to save copies of all mail, etc. If you really want to administer an Exim install, I strongly recommend reading the documentation from cover to cover, it's really, really good once you get a toe hold.
Good luck!

Alternative SSH Application to Plink [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I have recently started having problems with TortoiseCVS, or more specifically with plink, the SSH application that comes with it. The IP address it tries to connect to can not be changed and is stuck with the old CVS repository's IP. Downloading plink from it's home site and calling from the command line still has this problem.
TortoiseCVS has the option to choose the SSH application it uses and I was wondering which other alternatives there are that I can use instead?
Are you sure this is a problem with plink? It sounds to me like you have CVS/Root files lying around that still point to the old cvs ip address. In general, CVS doesn't make changing repositories into a fun process. Since you are using Windows, if you install WinCVS with macros support (Python module loaded) it has a macro that can be used to mass change CVS roots.
Otherwise, its up to you to script the process.
FWIW, I've used plink quite a bit and never had a similar problem.
Putty is probably the best SSH client out there:
http://www.chiark.greenend.org.uk/~sgtatham/putty/
I'd recommend you stick with PuTTY too. You might find it useful to run Pageant in conjunction with Plink to avoid having to type in the passphrase.
But if you want to research alternatives you should review this Wikipedia resource:
http://en.wikipedia.org/wiki/Comparison_of_SSH_clients
Thanks to jsight (and Mark Biek for pointing out the connection between plink and putty) I decided to investigate more fully.
It turned out that plink had been using the "Default Settings" stored Session that I set up for putty and wasn't allowing them to be overridden.
edit:
The Geek: Also, this is a good example why you should always, always use DNS/hostnames instead of the IP address directly.
The problem was nothing to do with the IP address change, and in this case the DNS changed as well. I can see your point, but this isn't the 'good example' you are looking for.
For what it's worth, plink is just a command-line version of putty written by the same guy.
I think jsight probably has the right idea.
It might be worth trying Tunnelier from www.bitvise.com
TortoiseSVN, at least, has an option called Relocate which you can use if the location of the repository has changed.
Also, this is a good example why you should always, always use DNS/hostnames instead of the IP address directly.
I'm using TortoiseCVS 1.10.9 on Vista Business, and ext connections to my server were regularly crashing TortoisePlink.
I downloaded the latest puTTY (0.60) and set TortoiseCVS to point to the plink included with this puTTY (CVS->Preferences->Tools). The command line options appear to be the same, but one difference is that TortoisePlink pops up a password dialog if you don't have a keypair for your server. Regular plink does not. So you have to either create the keypair (puttygen, I believe) or specify a -pw on the command line options (very BAD security idea).
+1 for PuTTy... been using it for the last decade and never needed anything else!