I use the SmtpMail object a lot to send notification emails from my program.
Today a firewall issue on my Linux sendmail server prevented programs
from connecting to it.
Question: Does smtpMail have any built in retry mechanism? Or can it
queue mail? Or is the an additional program that allows mail to be
queued and persisted if it can't get an outbound connection... 8 1658
John A. Bailo wrote: I use the SmtpMail object a lot to send notification emails from my program.
Today a firewall issue on my Linux sendmail server prevented programs from connecting to it.
Question: Does smtpMail have any built in retry mechanism? Or can it queue mail? Or is the an additional program that allows mail to be queued and persisted if it can't get an outbound connection...
What about a local mail server that relays the messages? You can dump
everything on it quite quickly, and it'll send them out in it's own
time, retrying as it needs to. Just enabling the mailserver in IIS (and
allowing relaying from the local host, or the machine that runs your
app) would do.
Alternatively, if you want something designed more for this kind of
thing, my company uses EasyMail SMTP Express
( http://www.quiksoft.com/smtpexpress/), which supports some cool
features like "mail-merging". We can give it a single message body
(populated with merge fields) and a DataSet, and it deals with sending
the thousands of messages in its own time. You can configure where
failures go etc., retry periods, and maximum connections.
HTH,
Danny
AFAIK in Framework 1.1 there was no such ability. You had to organize your
own message queue and exception handling on failure.
In Framework 2.0 there was introduced new class SmtpClient (
System.Net.Mail ). It has several options for delivery. For example
SendAsync.
With this method it is quite simplt to implement reentry mechanism.
If you have IIS in your disposal you can specify DeliveryMethod property,
where you can tell SmtpClient to use your IIS to send mail.
--
Vadym Stetsyak aka Vadmyst http://vadmyst.blogspot.com
"John A. Bailo" <ja*****@texeme.com> wrote in message
news:b9******************************@speakeasy.ne t... I use the SmtpMail object a lot to send notification emails from my program.
Today a firewall issue on my Linux sendmail server prevented programs from connecting to it.
Question: Does smtpMail have any built in retry mechanism? Or can it queue mail? Or is the an additional program that allows mail to be queued and persisted if it can't get an outbound connection...
Excellent!
Question: Can I upgrade to Framework 2.0 if I have been using VS.NET
2003 with 1.1?
Can I run both frameworks simultaneously?
Vadym Stetsyak wrote: AFAIK in Framework 1.1 there was no such ability. You had to organize your own message queue and exception handling on failure.
In Framework 2.0 there was introduced new class SmtpClient ( System.Net.Mail ). It has several options for delivery. For example SendAsync. With this method it is quite simplt to implement reentry mechanism. If you have IIS in your disposal you can specify DeliveryMethod property, where you can tell SmtpClient to use your IIS to send mail.
John A. Bailo wrote: Excellent!
Question: Can I upgrade to Framework 2.0 if I have been using VS.NET 2003 with 1.1?
Can I run both frameworks simultaneously?
You can. You'd need to recompile your application. If you don't have
VS2005, you can get free Express versions if you don't like using the
command line! http://msdn.microsoft.com/vstudio/express/default.aspx
Danny Tuppeny wrote: You can. You'd need to recompile your application.
So have 1.1 and 2.0 installed, but recompile using a path to the 2.0 csc
compiler.
If you don't have VS2005, you can get free Express versions if you don't like using the command line!
My application is a windows service -- I didn't think those were supported
by the Express. Anyway I put in a request for VS2005 to my manager...it's
still not clear to me if its available in release form and what the upgrade
cost is! (I have two Enterprise Architect licenses.)
Danny Tuppeny wrote: What about a local mail server that relays the messages? You can dump everything on it quite quickly, and it'll send them out in it's own time, retrying as it needs to. Just enabling the mailserver in IIS (and allowing relaying from the local host, or the machine that runs your app) would do.
I thought about that but my experience with the IIS smtp server has been
very negative. It's a reall resource hog, and the smarthost feature never
seemed to work well.
But, mostly, I think its just removing the problem one level back -- because
the issue would be what if someone turns off the IIS smpt server -- the
program has no recourse but to lose the mail. So I really need a system
that has (a) retry and (b) persistence.
Alternatively, if you want something designed more for this kind of thing, my company uses EasyMail SMTP Express (http://www.quiksoft.com/smtpexpress/), which supports some cool features like "mail-merging". We can give it a single message body (populated with merge fields) and a DataSet, and it deals with sending the thousands of messages in its own time. You can configure where failures go etc., retry periods, and maximum connections.
Wow..I'll take a look at that.
John Bailo wrote: But, mostly, I think its just removing the problem one level back -- because the issue would be what if someone turns off the IIS smpt server -- the program has no recourse but to lose the mail. So I really need a system that has (a) retry and (b) persistence.
I think this depends how you pass mail to IIS. Rather than connecting to
it as SMTP, you can write to the pickup folder (like I think CDONTS
does), which means once IIS is started again, it'll pick up all the mail
that's been written. Alternatively, if you want something designed more for this kind of thing, my company uses EasyMail SMTP Express (http://www.quiksoft.com/smtpexpress/), which supports some cool features like "mail-merging". We can give it a single message body (populated with merge fields) and a DataSet, and it deals with sending the thousands of messages in its own time. You can configure where failures go etc., retry periods, and maximum connections.
Wow..I'll take a look at that.
We've not had any problems with it, and we now use their BounceBuster
software too. We've had a few problems (mainly down to not keeping up to
date with more recent versions!), and their staff have been very
helpful. I can't say there aren't better/cheaper alternatives out there
though, because it's the only one I have experience of!
John Bailo wrote: You can. You'd need to recompile your application.
So have 1.1 and 2.0 installed, but recompile using a path to the 2.0 csc compiler.
Yep. I'm not sure if you can make VS2003 compile against 2.0, but you
can do it from a command prompt if not. If you open your project with
VS2005 (or an Express product) it'll try and "convert" it. I'm not sure
exactly what it does, but I've had success with it, and had to change
very little to make things compile/run in 2.0 :) If you don't have VS2005, you can get free Express versions if you don't like using the command line!
My application is a windows service -- I didn't think those were supported by the Express. Anyway I put in a request for VS2005 to my manager...it's still not clear to me if its available in release form and what the upgrade cost is! (I have two Enterprise Architect licenses.)
I've not looked in detail, but one of the projects I opened in Visual C#
Express which was "upgraded" was a Windows Service. It didn't throw any
compile errors, but I didn't try installing the service (I was just
testing to see how hard it'd be to migrate). Always worth a try (or a
Google), nothing lost since it's free :-)
Actually, this book: http://www.quantumbooks.com/p/03INETN/0764589555
Says "Develop applications with Visual C# Express using Windows Forms,
ASP.NET, and Windows Services"
:) This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Ohaya |
last post by:
Hi,
I'm trying to understand a situation where ASP seems to be "blocking" of
"queuing" requests. This is on a Win2K Advanced Server, with IIS5.
I've seen some posts (e.g.,...
|
by: Jason |
last post by:
Hi
just a really quick simple question. Can you configure SmtpMail class in C#
to use a different port? or does it have to be port 25?
Thanks
Jason
|
by: Just D. |
last post by:
Did anybody use this Message Queuing and knew all details about it? What's
the physical limit of this Message Queuing system, number of messages,
mbytes, message size? Where it stores messages,...
|
by: tiger |
last post by:
Hi,
I have a question on MS Message queuing.
I would like to check a message queuing to see if there is a message in the
queue. That is if the queue is empty, I would like to send a note to...
|
by: sam |
last post by:
Hi,
I have windows services appliaction. Application reads message from MS
message queuing. I have short code example below of my application.
I have different process points these point have...
|
by: Dave Pink |
last post by:
I support a web server farm of about 80 machines, of which 35 are in
Production at any given time. Machines are running Windows 2000
Advanced Server with IIS 5. All 80 machines are configured...
|
by: Mark Harrison |
last post by:
I would like to try and build a queuing mechanism on top of Postgresql.
Imagine an application where a large number of processes generate images
and queue up thumbnail requests. A smaller number...
|
by: Jason Richmeier |
last post by:
Is there a way to create a setup package (setup and deployment project in
Visual Studio 2005) that installs the Windows Message Queuing components as a
prerequisite or is this something that has to...
|
by: RituJetly |
last post by:
Hi,
I want to use Oracle's Advanced Queuing from C# code, but not getting proper interfaces/classes to create the Queuing objects. Please help.
Regards,
Ritu.
|
by: CloudSolutions |
last post by:
Introduction:
For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome former...
|
by: ryjfgjl |
last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
|
by: taylorcarr |
last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: aa123db |
last post by:
Variable and constants
Use var or let for variables and const fror constants.
Var foo ='bar';
Let foo ='bar';const baz ='bar';
Functions
function $name$ ($parameters$) {
}
...
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
| |