Solved

XPSMTP Multithreading?

Posted on 2006-07-12
9
271 Views
Last Modified: 2008-02-01
We've used the xpsmtp dll to automate the sending of html emails from within SQL Server 2000 and really like it.  We've noticed outgoing emails take about 30 seconds or so per message to transmit... which is fine for our purposes right now.  But we expect user volume for this system to grow in the coming weeks and are a little concerned about transmit times.  We're wondering, is there any way we could multithread it without destabalizing the server?
0
Comment
Question by:ruavol2
  • 3
  • 3
  • 2
9 Comments
 
LVL 12

Accepted Solution

by:
Einstine98 earned 500 total points
ID: 17094845
you shouldn't use your SQL server as a mailing server... from your description this is what you are trying to do...
0
 

Author Comment

by:ruavol2
ID: 17138750
Response from the creator of XPSMTP:

The XP is completely thread safe, this is a requirement for XP's since the SQL Server scheduler pre-empts to execute the entrypoint in the DLL.

This is also one of the reasons why you see the slowness, because the XP is fully stateless, the socket connection is created and teardown every invocation.

I have been experimenting with keep them around, but I never implemented in the version that is shipping, also because of security concerns when the socket is authenticated, I need to reset that as well.
0
 
LVL 12

Expert Comment

by:Einstine98
ID: 17143868
Thanks for the update, but the reality of it, emails out of SQL server should be used for "alerts" not as a full fledge email server... if you have a need for sending messages based on data in SQL server you should create an application that would use a normal mailing server... so the application would act as a middleware extracting your data and mailing it...
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 17147126
Also, while you may not have liked the response a "C" grade was not merited.  Please taje the time to re-read the EE Guidelines at:

What's the right grade to give?
http://www.experts-exchange.com/Databases/Microsoft_SQL_Server/help.jsp#hi73
0
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 

Author Comment

by:ruavol2
ID: 17149140
My apologies... my understanding was that the grades themselves only mattered in that they were used as multipliers to adjust the total points awarded.  I should have read the grading guidlines prior to grading the answer.  I've read online about the grading system more now and I clearly should have awarded this answer a "B".  Is there a way I can change the issued grade?

My apologies to Einstine98... there was nothing "wrong" with the answer, it was absolutely correct.  I definitely didn't mean to offend.  I've just seen how much work goes into earning A grades on 500pt questions and felt that awarding 1000 points via the C was fair for a quick (though entirely valid) answer.  When I posted the question, we were working hard to find an answer that addressed what we were doing.  We were aware that using SQL Server to initiate emails was not at all ideal.  I didn't state this in my posted question though... so the response Einstine98 gave was completely appropriate.

In the end, the xpsmtp dll was a quick and convenient fix that has proven reliable (so far - and at low volume), despite its slow processing speed.  In the end, we went the conventional route and set up xp_sendmail using Outlook as the MAPI client (configured to send via POP rather than Exchange).  I had to write a little VB app to periodically open and close the Outlook client, as we have only been able to initiate xp_sendmail when the mail client is closed?!?

Anyway, I do appreciate Einstine98's response and will revise to a B grade if possible as soon as I figure out how.  In the future I will grade according to guidlines.
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 17150114
>>Is there a way I can change the issued grade?<<
Sure.  See here:

Can I get a grade changed?
http://www.experts-exchange.com/Databases/Microsoft_SQL_Server/help.jsp#hi18

And I thank you for your response, not everyone is as appreciative.
0
 

Author Comment

by:ruavol2
ID: 17150758
I have posted a request for a change to the grade:
http://www.experts-exchange.com/Community_Support/Q_21926690.html
0
 
LVL 12

Expert Comment

by:Einstine98
ID: 17151926
Thanks for you both but I don't do it for the points and I don't mind any grade you feel is appropriate... so, no offence taken! and I'm always glad to have helped!
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

Performance is the key factor for any successful data integration project, knowing the type of transformation that you’re using is the first step on optimizing the SSIS flow performance, by utilizing the correct transformation or the design alternat…
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now