Scenario:
1) My application is a .NET 3.5 C# web app and the database is SQL 2008.
2) Emails will be in the region of 100 to 1000 a day and are triggered by various web user interactions with the app.
3) Most emails will contain attachment(s) between 50KB and 5MB. Some emails will be HTML and some will be plain text.
4) All attachments will be sourced from a directory on the web server.
5) The SQL server is a separate machine to the Web Server. All SQL connections from the application are via SQL logins not Windows Authentication.
6) For a scalable solution, Emails to be sent will be queued in a database table ready for a batch process to pickup. Failed emails should be retried up to 4 times.
Dilemma:
I'm not sure whether to write a web server solution to send emails (e.g. a windows service which polls the emails ready to send) or maybe to use SQL database mail which is easy to setup and use and doesn't require much development.
The fact the attachments sit on the web server suggests to me to use a web server solution but I would be interested to see if I've missed something.