C# 优化使用SMTP发送邮件
我有一个应用程序,通过SMTP发送电子邮件,但它比sin慢。两个收件人可能需要20秒以上。我认为问题在于程序逻辑 程序打开带有电子邮件地址和显示名称的csv,然后使用for循环向每个收件人发送消息 问题是,我担心它每次发送给列表中的下一个人时都会重新建立SMTP连接 我的问题是,如何设置SMTP连接并为每个用户重新使用该连接?(除非这不是它慢的原因,有人可以告诉我为什么它跑得这么慢)C# 优化使用SMTP发送邮件,c#,.net,wpf,email,C#,.net,Wpf,Email,我有一个应用程序,通过SMTP发送电子邮件,但它比sin慢。两个收件人可能需要20秒以上。我认为问题在于程序逻辑 程序打开带有电子邮件地址和显示名称的csv,然后使用for循环向每个收件人发送消息 问题是,我担心它每次发送给列表中的下一个人时都会重新建立SMTP连接 我的问题是,如何设置SMTP连接并为每个用户重新使用该连接?(除非这不是它慢的原因,有人可以告诉我为什么它跑得这么慢) void DoWork(对象发送方,DoWorkEventArgs e) { //获取用户列表 List myc
void DoWork(对象发送方,DoWorkEventArgs e)
{
//获取用户列表
List mycsv=csvRead();
int total=mycsv.Count;
//向每个用户发送消息
对于(int x=0;x
VS:2013-4.5.net-WPF应用程序提高速度的一种方法是为邮件传递创建一个静态类。例如,使用静态方法SendMail(您将smtpDetails()放入其中)的邮件处理程序类。
因此,无需为循环中的每个调用创建新的SmtpClient实例-只需重用静态方法。您还可以使用以下方法使用:
using(SmtpClient smtp = new SmtpClient())
{
Port = port
//etc
}
这将处理您的所有smtp连接
using(SmtpClient smtp = new SmtpClient())
{
Port = port
//etc
}