Mass Emailing API? (EmailBlast) - asp.net

We have a project coming up where I want to create a webservice (EmailBlast) that will talk to our 3 or 4 intranet apps. These intranet apps will make webservice calls to EmailBlast informing EmailBlast of the emails that need to be sent out. I will have a simple Approval workflow so that when a request comes in I will notify admins and request thier approval before sending the emails.
So rather than do the entire project myself I was wondering if there is a Email API that can queue up emails, create reports on bounce backs etc.. And then I would wrap all that up with my Workflow stuff and web services to communicate with my intranet apps.
Is there something like that out there? Or am I going about this the wrong way?

I wrote the SOAP API for Lyris Listmanager. It is an excellent product. Sending out emails is no trivial task. You need things like domain keys, SPF etc or your emails will end up in the junk mail box, or you can easily be blacklisted. You don't want this to happen to your corporate sendmail.
Also automated bounce handling is a huge time saver. You can have the system retry after x number of times, and remove from the list if you want.
Most commercial email management systems will handle this for you. Listmanger is one of the few stand alone email management systems that you can install locally and start using it. Check out the free trial, it will save you alot of headache down the road.

MailChimp offers a great mass-mailing service and has an API for it. However, it's an external service, not something you can install internally.
There are also hardware systems that you can install internally that do this sort of thing. Google "mail appliance".

Related

How does it work to implement an API for Payments in separate ends of a project?

Alright, A friend and I are developing an App where I'm developing the back-end and he is developing the front-end. The project is separated into two repositories the front-end and the back-end, and we need to implement a payment API.
Now, since we're using the REST API Concept, we communicate both ends through JSON data.
My question is, when we're making the connection to the payment API, who needs to execute that request? The front-end or the back-end?
I know it's a silly question, but first timer here.
The backend will obviously process the payment, I'm not sure which payment API you're going to use. But depending on the API you go with, the implementation will vary. But the actual processing of the payment will be processed in the backend for sure.
It completely depends on the API.
In some cases, a payment can be accomplished via a secure web service call, which would be issued by your friend's REST service. The front end will still need to collect data (e.g. payment amount and card number) and may also need to collect additional information to satisfy the API (e.g. IP address or browser signature, for risk management purposes).
In other cases, the payment is sent directly to the service from the browser. The role of your application would be to render an iFrame housing a page that is reached via SSO. The back end may need to call a service to retrieve an SSO token, or may have to compute an SSO token using a shared key.
You should probably refer to the payment API's documentation. They often have very specific guidance which you must follow carefully in order to achieve payment card (PCI-DSS) compliance. There is nothing special about "payments" that says that allows StackOverflow users to guess anything about its API.

How to send 1000+ emails per day using an ASP.NET Web site

We have a website that requires to send 1000+ emails a day to all the customers who opted for the alerts. In couple of months time we are expecting to raise our customer base to 5,000 and so we may need to send 5000+ mails every day.
At the moment we are using GoDaddy email server(the email services associated with our domain) and it permits us to send only 250 mails a day. Which is far less than what we need.
Is there any cloud based service that allows us to send as many mails as we want? or do we have to install an email server on our dedicated hosting server?
Please suggest me the possible solutions to this problem as well as the software/services that are required.
Updated:We have Windows Services that run in the background to generate the required emails and send them using SmtpClient class. Our problem is restrictions imposed by GoDaddy(only 250 emails per day)
If you can't or don't want to install your own mail server, then one option is to lookup the MX records for the destination mail servers, and do the delivery directly from your application using the SmtpClient class.
Ideally, you should do this from a background thread (a Windows Service would be even better), to minimize interference with the rest of your web site.
IIRC, MX DNS lookups aren't available as a standard Framework call. However, they are pretty easy to add using p/invoke.
There are a number of different solutions out there. If you want to send all the emails you want you will need to get a good reputation with all the Email Providers like Hotmail, Yahoo Mail, GMail. This can be quite difficult since they do everything according to IPs and getting a fixed IP in a cloud can be difficult.
You can use providers, like smartFOCUS DIGITAL, to send the emails for you and they take care of the reputation with the ESPs.
I suggest you to use your own mail server. Some email servers set to check sender mail server is authorized to send email. I mean sender email server must be authorised to send your domain's emails. Otherwise receipent email server drops emails.
While this question is a bit dated. I have recently undergone a search for a host, and stumbled onto JodoHost.com. They have a reseller program in which you can have a domain classified as a 'mass mailer'. You have to sign a waiver stating that you won't use it for spam, but they give you 'unlimited' emails.
You will want to verify with them that 5000+ emails won't be an issue.
Now outside of finding a host that will allow you to send this many emails (as many ISP's will prevent this number as well), you have two options.
Invest in a dedicated server. This way you can host as many sites as you'd like on your server and send as many emails as you want. MailEnable is a perfectly suitable application to use, though its free version is limited to one domain. With this option, your cost will rise significantly over cheap GoDaddy hosting.
Use a third party service to send your mass mails. A prior employer had a list of 40,000+ users and we used a third party service to manage our list. That way they are responsible for a lot of the details to managing a list that size (add,remove, spam complaints, etc..)
Easy solution is not to use a website to send all these emails just use a desktop application.
No dedicated server in a cloud is needed, an smtp server installed will do.
Well that and a bulk email component like: aspnetmail

Sending mass email campaign via ASP.NET

I have read a few other posts on here about mass emailing, but I need some other information. We want to integrate our mass e-mail system into our current application, but I fear this may not be a good idea. Does anyone have any input as to what kind of resources are needed to send, potentially, 1000's of emails an hour? We only have one web server right now and do not have access to our mail server. We do have full access to our web server, however. Would it be a bad idea to host the mass e-mail application on our current server? Should we have a separate sever to run this type of application and call the server via web services (WCF)? Each email would need to be sent separately because the links on the e-mail are for tracking and unsubscribing purposes. I appreciate your thoughts.
Daniel
Yes its a bad idea,
One of the key things for detecting spam, is the IP address it came from (Known as its reputation) if you start sending out alot of emails which end up getting marked as spam (Which is likly, even if the users said they wated to recieve email) your IP address could end up in trouble. I wouldnt fancy doing this on my webserver.
As for specs, your bandwidth is going to be hit hard when you start doing somthing like this. Although I think you would be suprised at how fast you can send out emails (Mail Server Dependant)
Either way when it comes to sending mass mail campaigns out, I'd speak to a third party if its somthing you are serious about, they have the knowledge and hardware to perform campaigns that are not going to damage your IP rep.
I think this issue all depends on your mail server. I've been in a project where we sent out 50-100K emails in a few hours and the main limitation was the capacity of the mail server. In my opinion it would be fine to have the mail client run on the web server as it won't be using too much resources if well written, the main question is what the mail server can take.
You can help your reputation on some email providers by contacting them and or filling out bulk mail registrations.
This is for yahoo:
http://help.yahoo.com/l/us/yahoo/mail/postmaster/bulkv2.html
I would not recommend using exchange for anything like this. You will want a separate bulk mail server like Ironport.
http://www.ironport.com/
Otherwise your internal emails will get stuck in the queue with all of your bulk emails which you definitely don't want.
The actual code involved does not have to be that complex. In my case we used an asynchronous task to loop over an email list table in the DB pulling out a batch of 20 or so at a time sending then sleeping for a number of seconds. Email providers do not like receiving hundreds/thousands of emails from a source at one time. Even better if you can stagger the list by providers.

Third Party Email Senders

I am sending email from my asp.net application, and I wanted to see if anybody could recommend a third party that will actually send the emails. Ideally they should have some sort of web service available that I can send a request to.
Mike,
Check out some of the following. They have API's that may or may not be of use/interest to you that your application could interface with. I am sure there are others, a few months ago I went through about 5-10 providers and these are the three that stuck for me.
They send out emails to your list for you and provide you with a list of what got through, viewed, subscribed, unsubscribed, etc. The best part of their services is that they have whitelist agreements with the major email providers (hotmail, yahoo, gmail, etc) so your emails don't end up in the Junkmail box.
If you wanted to automate the sending of an email through these I am pretty sure you could write an http agent to do the interaction with the website if it isn't quite there in the API how you would like.
www.constantcontact.com
www.icontact.com
www.mailchimp.com
Each have their subtle differences that should give you a starting point for what you're looking for. Good luck!
I have used http://www.authsmtp.com in the past for an SMTP server. This was especially effective when sending from Amazon EC2 instances. It was great to have someone else manage blacklist issues etc. You should be aware of though with their service there is a limit on number of unique "from" addresses used (upgradeable of course).
Very easy to use the standard System.Net.Mail API's and just specify an smtp server in web.config
<system.net>
<mailSettings>
<smtp deliveryMethod="network">
<network
host="mail.authsmtp.com"
port="2525"
defaultCredentials="false"
userName="ac55555"
password="your-password-here" />
</smtp>
</mailSettings>
</system.net>
Some of the companies that I've worked with in the past include: Responsys, Acxiom Digital, PeopleSoft, Seibel, Eloqua, Marketo, Constant Contact, Blue Hornet, Mail Chimp and Exact Target.
The only 1 that I can verify first-hand as having an API that will actually allow you to send email without logging in and doing something manually via their UI is Responsys.
Does your ISP/hosting provider provide an SMTP server? If no, what about just using that, by way of the System.Net.Mail libraries? It's not a web service, but it's trivial to use.
Mike
I think you have to look at what kind of mails your are sending from your application.
If it's only the mail with a password when user signing up for a website, or is occasional sending a reminder from a desktop application, then stick with your business ISP and there SMTP server. Just write your own mailer using the System.Net.Mail.
At the other hand are you mass mailing thousands of people regularly then you have to be concerned about at least two things:
Not getting your URL blacklisted.
The percentage delivered mails
And just those two things a professional mailing provider can do much better than any one else. On top of that the provider gives you a lot other benefits, so as reports, click through rates, etc.
I'm using www.Aweber.com for my own business and have so for years with great satisfaction. For a client I have implemented the service from www.Getresponse.com and they are also great.
I believe those two are the best of the trade, used by a lot of marketing people and Getresponse I know have a api you can program against.
And if you want to support me - here are my affiliate links:
www.Aweber.com
www.Getresponse.com
CakeMail is, as far as I know, the only solution that meets all of your criteria.
Typically, it is used to create email campaigns and send them, and as such it offers all the features you would expect from an email campaign manager. For sending individual emails, you would simply create a new campaign, add the recipient to that campaign, and send it out. You can resend the campaign if necessary. All managed through the API.
It works on a per-recipient basis, instead of fixed mailing lists as the other solutions mentioned require. There is also no sending fee outside of the credit costs, which you would experience with a comparable solution such as Campaign Monitor.
We will be using CakeMail in exactly the same configuration in the near future.
I think I understand what your problem may be. I have a software program that I market and I want to send out newsletters to several thousand people.
Originally, I purchased Spd E-Letter from Pensaworks. It is an ASP script using Access or SQL Server. I installed it with my website and because all the ASP was provided, I was able to add customizations as I desired.
The great thing about a solution such as this is that you are in control of your data. You are not storing your data in someone else's database. If for any reason, they cut you off, a third party will not give you your data back.
It worked very well for me for several years ... until I changed webshosts and the SMTP limits at the new webhost were too low. The ISP limited batches to 50 emails (I think that's the number) at a time and wouldn't let me send out more than a couple of hundred emails an hour.
I looked at dozens of 3rd party providers of this service, from ConstantContact to Bravenet to everyone else. If you were to go with one, the ones that most of the Marketing Gurus use are AWeber and GetResponse. They all charge monthly rates that increase as your volume increases and it will end up costing you a chunk of change, so you better be making good revenues from the mailings to make it worthwhile.
Switching to such a service may be frustrating. Many of them don't let you just add your existing list, but require that you contact all your people and get them to opt in again. Many will also require you always use double-opt-in signups, where they have to respond to an email before they get added. You'll have to consider this in selecting a service.
What I was going to do was find an SMTP service that I can use to send my mailings to. I looked around for awhile but this was not a service that was easy to find. Basically, I wanted someone to accept my e-mails and send them out. Simply an SMTP server.
It so happens, I found out that Plimus, the service I use for selling my software was a partner of a webhost that provided SMTP services for them. The webhost was DewaHost, and you can get a hosting account specifically for their servers dedicated to SMTP. You do need to contact DewaHost directly to sign up with them, but their monthly rates are reasonable, up to about $40 a month for unlimited emails.
There are, of course, others. You can look up "SMTP Server Hosting" on Google but I can't vouch for the others. You'll notice DewaHost quite high up on that list.
In your comment on your own question, you say you'd like "some sort of nice neat online interface which shows all of the emails we sent, and allows me to resend them if the user requests". I think you're running into trouble trying to get a service to do that. If you're already using your own ASP.Net program to generate your own emails and maintain your list, it should be your own program or an add-on to it, like the Spd E-Letter that I used.
If you want an ASP.Net solution, there are several packages available, for example Absolute Newsletter.
I hope this helps you.
Louis
Depending on your usage requirements, have you considered using gmail? Google provides a nice secure smtp service and cool (free) goodies for hosting your own domain email using google.
To add to Matt's answer above, CakeMail also offers a Relay API Class that allows for one-off emails. You can interface with our API with one of our libraries.
Cheers,
Francois # CakeMail

Membership bulk email software

We have a Microsoft web stack web site, we have a members database.
We want to start doing mass-emails to our (opted in) membership.
I don't particularly want to re-invent the wheel with a system for having a web form submit and then mass send emails looping through thousands of records without timing out and overloading the server...
I guess I'm looking for something like Mailman, that can run on a windows (ASP/ASP.NET + SQL Server) backend and do the work for me, with suitable APIs to manage the subscriber list and send emails to that list.
Suggestions please?
I agree with acrosman, third parties that host email lists are a good way to go. A very reliable site I've found for mass emailing is http://mailing-list-services.com/. They do a good job to make sure their servers are never black listed or marked as spam. I've used them a few times, their website design blows, but their service is awsome. The Lyris Listmanager software they use has a pretty extensive API.
Advanced Intellect has some great tools, like aspNetEmail and ListNanny.
MaxBulkMailer might be a solution for you? The organisation I work for uses it to connect to www.authsmtp.com which gives us credits for a certain number of e-mails that we can send per month. You can import a spreadsheet of your mailing list or tap straight into a SQL server and pull the names and addresses. Available for Mac and Windows.
(not a sales pitch)
my company offers mail manager, but it's a hosted service. It has a full API though.
You can also check out how DotNetNuke does this
Unless your running a business that specializes in email, I'd suggest you find a hosted solution. There are 100's of little issues that come up when you run your own service over time. A hosted solution can save you lots of time and effort (and therefore money).

Resources