Possible to use server for collecting and distributing mail - email

We currently have POP3 mail accounts where I am and try as I might to convince my manager that we should be using hosted IMAP or Exchange he won't budge because of the cost. The staff are mostly out of office so there is no domain server here, however, we do have a dedicated server and I wondered whether I could use this to collect the mail and distribute it from there in some way.
Effectively what I'm trying to do is ensure mail is stored somewhere other than the end users machine because backups are user dependant at the moment. With hosted Exchange or Exchange on this server would be simple but my manager won't shell out for it. I have seen free mail servers called MailEnable and Axigen but unsure if they will do the job. Sorry if this seems like an easy or stupid question but never needed to do this before.

I am assuming due to the reference to Exchange that you are on Windows.
If you have an old box lying around that works, you could install linux on it and then choose from a number of different imap servers. Dovecot and Courier are both good choices and I have worked with them before.
You could use fetchmail to then pick up the mailboxes and then deliver to the imap boxes or get them deliver directly.
Setting up such a linux server for email was one of the first things I ever did on Linux. While initially daunting, once you get the hang of it, it is pretty straightforward and there are plenty of resources out there to help.
Ubuntu is probably the easiest to get used to. CentOs is also a reasonable choice.

You shouldn't be running your own server if you aren't willing to administer your own server, and they are not easy to configure if you don't know what you are doing (e.g., you mess up and you are exploited for spamming).
Look into a service like mailgun. In my application we are using them for forwarding to REST endpoints as well as onto another SMTP server.
Competitors that wound up not meeting my needs but may meet yours include Dyn, email yak, Sendgrid, etc. etc.

Why not just setup the mail clients to store their mail files on a standard network drive or share? I follow that this situation is pretty silly in your view - 100% because of the ridiculous constraints that you are being asked to work within: I would similarly find the solution I am suggesting ridiculous generally; but under the circumstances, it seems like a simple answer to your problem - replacing distributed mail storage and backup with centralized storage and backup.

Don't POP3 email clients have the option keep a copy on the server? Mine certainly does. See second tick box on the pic.
You can then periodically take a back up of all the emails from the server to stop it getting clogged up.

Related

Microsoft Azure Websites - Custom domain mail

Microsoft Live Custom Domains are now shutting down. I have been using this service for e-mail hosting for all my Microsoft Azure Websites, but now it is gone and no viable replacement is in sight. Do you have some idea what alternative approach exist for hosting multiple mailboxes for multiple websites hosted on Azure?
Your cheapest option is to have one (single) google apps account which will cost you around $5 per month. Make it something very general like mail#yourdomain.com. Then in the google apps dashboard make it a catch all address. This will make the single inbox catch all email for accounts such as Sales#, support# bob# or whatever at your domain.
Then you can set Gmail filters to sort (label) each incomming message based on who it was sent to. For example you can have messages sent to frank# automatically labeled as frank.
Next you want to create regular old gmail accounts for all of your individual users. I am going to follow the example of creating a box for frank#company.com for this instance.
Create Google Apps primary account (catch all) as mail#company.com
Create Gmail account for frank.company#gmail.com (regular gmail account)
Create filter rule on Google Apps account for all messages sent to frank#company.com to be forwarded to frank.company#gmail.com. You can further mark them as read or delete them upon forward.
In the frank.company#gmail.com create a sending alias as frank#company.com. Google will give you a 4 digit code, and now when logging in as frank.company#gmail.com i can both send as frank#company.com and recieve all email since its forwarded to this account.
Also make sure to set default reply:to addresses in case you send from the frank.company#gmail.com address.
Using the technique above you can get all the benefits of having a pro google apps account (dkim, spf, 25gb inbox) and with a little bit of configuration you can setup multiple gmail accounts which run off the single account. We use the technique above and it works flawlessly. The only thing that doesn't work is mailbox delegation, which is not that great.
If you wanted to save the $5 you could get away with using something like GoDaddy free email forwarding, but then you would be limited to godaddys 250 message limit per day.
The approach above just works.
I feel your pain. Had to have some tough talks with many of my customers when the free Google Apps option was discontinued.
I found two routes:
Find a hosted Exchange type solution. This has the advantages of any hosted solution. It is managed for you. You can get started with around 50 USD / user / year and services are provided by the likes of Microsoft, Google and Rackspace, like stated in the other answers.
(Which is the route I chose) Host your own Exchange server on AWS EC2 or Azure. Thanks to Microsoft License Mobility, you can install an Exchange license on a cloud server and provide email addresses for your customers` domains yourself. This will allow you to share the cost of the Exchange license between all your customers and if you reach the critical mass, this can save a lot compared to the pay-per-user-per-month models for most hosted solutions.
I am stil looking for a free alternative, but have yet to find one that can match the features that were available in the free version of Google Apps.
EDIT: I was thinking about this again last night and came up with another idea. I am not a Linux guy, so I would not be happy to do this for production mail server. For someone who is "bilingual" (i.e. ok with both MS and Linux solutions) or of a more adventurous nature than me, could take route 2 with a linux server and an open source mail server solution. I am sure this will lower the cost even more significantly, since you will not need to pay for the mail server licence and also per-hour instance costs for Linux servers are lower. This might even create a whole new revenue stream.
Zoho provides a Google Apps like deal for 5 users for free:
https://www.zoho.com/mail/zohomail-pricing.html
Up to five users
5GB/User
25MB attachment limit
Web access only
Email hosting for single domain
I just finished installing a mail server in Azure in a Linux virtual machine. So far seems ok.
The total cost of operation is about 10€ a month since neither Ubuntu (the OS) nor iredMail (the mail server) nor Postgres (the database) have any licensing fees.
Regarding the block on Azure IPs I do believe that most users saying that did not correctly configured their servers. And by that I mean that they didn't configured the PTR reverse DNS on Azure, which allows other mail servers to check if that IP is allowed to send and receive mail from that domain.
Also make sure you add the SPF DNS entry for your mail server. You can't blame a mail server to blacklist you if you don't minimize the risks of SPAM.
Hope this helped you.
Useful links:
IredMail Server - http://www.iredmail.org/
Reverse DNS in Azure - http://azure.microsoft.com/blog/2014/07/21/announcing-reverse-dns-for-azure-cloud-services/
First of all you need to identify how much and what all services do you need?
If it is just an IMAP/POP3 Email Box, then best option is a Virtual Server or Virtual Machine with cpanel, once installed with daily backup runs good for years, you get unlimited email accounts and unlimited space !!! You can increase your VM dynamically up when you need it. Drawback is, it takes little maintenance once in a while. But most likely cpanel auto update is very stable and I have VPS running for 5 years and every year we are just increasing our disk space.
If you want calendar along with live docs editing etc, then you have to go with Google Apps which is cheaper then MS Exchange. But if you need strict Exchange kind of services, then you will have to go with hosted Exchange.
I will not recommend spending money for Rackspace or any such Cloud Email which is priced per user, which is total waste of money as they do not offer anything apart from linux server with cpanel. Those services are only for non IT people. Since you have already asked question on Stack Overflow, you can easily setup and manage cpanel based linux OS.
you could run a Ubuntu VM in Azure and set up Postfix
You can install a Free Mail Server on a Virtual Machine on Azure like:
https://www.hmailserver.com/download
I have found the same problem myself.
The only alternative in the past would have been to use Google's equivalent service, but they have also stopped it.
Realistically, there isn't a free answer to using custom domains with emails that I am aware of. Both Microsoft and Google offer paid for services, but cost per user/mailbox, per-year - compared to their free services this is a big jump in price.
Google charge £33 per user/mailbox, per year.
Microsoft are slightly dearer at £39 per user/mailbox, per year, but include access to online versions of Office for each user too.
For my situation, the Microsoft route may be the better option, based on my customer preferences but I am sure that the Google service is equally adequate.
Hope this helps. (But let me know if you find a better alternative!!!)
How many real people do you have reading e-mail? As many as you got mailboxes? If not, then I really suggest you go for Exchange Online from Microsoft which goes for $4 per user (not mailbox) per month.
The trick is, that once you've set up your domains, you create a Shared Mailbox through PowerShell and while doing so, you give the real people (you pay for) the rights to read and send as. The cool thing is, that the user does not need to do anything. The mailbox simply appears in their Outlook.

Transfer old email messages to new server

Novice in the tech aspects of email servers here:
Situation: We have an old hosting (and mail) provider that we're moving away from. They are using Mail Enable Enterprise (it's a microsoft server in case it matters and they don't have cPanel). They have 7 GB of our email messages on their server, we also have those messsages downloaded to a machine via IMAP.
We need to: transfer these messages to a new server / provider. I went ahead and asked HostGator tech.support and they are unable to do the import so I am looking for a different provider who can import the messages (and folders) and then just be a good email provider.
Question: Could you suggest a provider (does Google Apps do that?) that let's me import / upload messages to their server OR maybe suggest another way of solving this.
Well, you have IMAP on both sides, right?
Drag'n'drop in your email client will work just fine. Yes, it's a lot of data, and it might take a bit, but it's the simplest thing that might possibly work. It's hard to go wrong with simple things.
There's also imapsync, but then you'll need to already know the login information on both sides, which is something you might not have for every account on the old server.

Virus scan emails on mail server or mail client?

We've written a simple email client. We've some basic whitelist/blacklist functionality in there but nothing more than that. We've noticed a few emails containing malicious code and I 'assumed' the mailserver should take care of that.
So should this be a responsibility of the mail server / host or of the email client itself?
Both
If you have to use the word assume you better just go ahead and handle things on your end.
Both, either or neither.
Neither is obliged to do it. So as Robert Greiner says, you should not assume.
The reality is that if you are selling your email client, or even giving it away, you need to consider what your customers expect.
If you expect them to use your client alongside well configured, decent mail servers and standalone antivirus software, you might not need to do it yourself.
Just make damn sure that the end user knows what they are (and aren't) getting from you, and have an appropriate licence agreement.
You almost certainly won't be able to write and maintain your own antivirus updates, unless you can afford to spend millions on R&D each year, so if you are going to take care of it yourself, look at integrating with the API of an established (not necessarily market-leader) antivirus provider. You will probably need to pay a licence fee to integrate with and distribute their software.
However, my personal expectation would be to not rely on mail server and client and have my own desktop antivirus program.

Send emails through VB6 if no email client

I have a VB6 app which is used by a large number of clients.
I need to allow the clients to be able to send emails to me. In the past I have done this using Microsoft MAPI controls. However, not all of them have an email client installed, since they use webmail instead.
Is there any other method anyone can recommend which would allow them to do this?
SMTP
You can use CDO for Windows to do this if we make a few assumptions:
Your users are all on Win2K or later.
The users will never be behind a firewall blocking SMTP or proxying all SMTP port use to a corporate server.
You have an SMTP server that you have an account you can let the user-mails be sent with.
You embed the server's address and account credentials in your program.
Sometimes using an SMTP server listening on an alternate port will address the second issue, but often such an alternate port is even more likely to be blocked.
SMTP is Dying
Abuse over time has made SMTP less and less viable for automated/assisted user contact. There are just too many variables involved in trying to open some sort of "clear channel" for SMTP communication as people work harder to fight spammers and such.
Today I would be much more likely to use either WebDAV or a Web Service for this. Both use HTTP/HTTPS which is more likely to get past firewalls and usually get by most proxy servers as well. WebDAV is often more "slippery" at this than Web Services, which more and more proxies are bocking. You can also use something more RESTful than SOAPy since the traffic "smells more like" user browsing to proxy servers.
WebDAV is a Clean Option
There are even free WebDAV providers offering 2GB of storage with a main and a guest user. The guest account can be given limited rights to various folders so some folders they might post your messages to, other folders they might get data from (read only folders), etc. For a paid account you can get more storage, additional users, etc.
This works well. You can even use the same hosting for program version files, new version code to be downloaded and installed, etc. All you need on your end is an aggregator program that scoops up user posted messages and deletes them using the main user/pw.
You still need to embed user credentials in your program, but it can be a simpler matter to change passwords over time. Just have the program fetch an info file with a new password and an effective date and have the program flip the "new" password to "current" once run on that date or after.
WebDAV support in Windows varies. From WinXP SP3 forward you can simply programmatically map a drive letter to a WebDAV share and then use regular file I/O statements against it, and unmap the letter when done. For more general use across even Win9x you can build a simple WebDAV client on top of XMLHTTPRequest or use a 3rd party library.
Web Services Have Higher Costs
Just to start with you have server-side code to write and maintain, and you have to use a specific kind of hosting. For example if you built it using PHP you need a PHP host, ASP an ASP host, ASP.Net an ASP.Net host, etc.
Web Services can also be more problematic in terms of versioning. If you later update your program to provide different information in these user contact posts you have to make another Web Service as well as changing both the application and the aggregator. Using WebDAV you can just make a "new format" folder on the server and have the new program post the data there in the new format. Your aggregator can simply pull from both folders and do any necessary reformatting into your new local database/message repository format.
This is merely an incremental additional effort though and a Web Service might be the way to go, even if it is just something written like an HTML Form GET/POST acceptor.
Although this question is for VBA you may find it of interest. Sending Emails using VBA without MAPI

Mail relays or SMTP services for use in code

I'm looking to start using an SMTP or mail relay service. I've found quite a few out there, but I'm not sure if there are advantages to one vs another. The only requirements I have are:
can send "from" more than 1 domain (possibly >20 for all the different sites I work on)
can pay for a higher limit (I may need to send as many as 15000 in 1 day, although the average is <500)
can send from PHP (although I doubt this will be a problem as most are compatible with any language)
I'm okay with an SMTP service, mail relay service or a site that uses a custom API, although an API would make the conversion more difficult.
Reasons for wanting to do this:
I don't want to host any mail services my self as they just cause head aches
I don't have to worry about being blacklisted. If they are blacklisted they will know about it and have the knowledge to get it fixed.
Reporting on if emails have gone through would be nice.
I'm not sure why you would need this. If you read the proper RFCs (822, 2822, 823, 2823), you should be able to connect to any given site directly using SMTP. You need to be a little careful with Line Endings (should always be CRLF), and should probably add mail.add_x_header = OFF to your php.ini.
However, if you need a relay, I recommend using a spam filtering provider, as then you have protection from being blacklisted due to spammers abusing email-generating forms. I would recommend Red Condor for this task, but that is only because I work there, and know that we can handle it.
I've started using Mandrill and found it to be a great, reliable service provided by MailChimp that includes enough for most sites to use for free. Easy to setup, but also has a lot more functionality available.