20万封邮件,发给不同的用户,邮件内容也不一样。我用winmail 设施每隔1分钟发送1000封,但是1000封等待的时间差不多也是1分钟,而且winmail直接死机。谁有更好点的思路?最好是免费的,不管怎样,请给详细介绍一下。

解决方案 »

  1.   

    不是这种的么? public static bool SendEmail(string MailTo,string MailFrom,string MailSubject,string MailBody,bool isHtml,string SmtpServerAddress,string SmtpUserName,string SmtpUserPassWord)
    {
    bool isOk= false;
    if(SmtpServerAddress=="")
    {
    SmtpServerAddress="mail.123.com";
    }
    if(SmtpUserPassWord=="")
    {
    SmtpUserPassWord = System.Configuration.ConfigurationSettings.AppSettings["EmailPassword"];
    }
    MailMessage myMail= new MailMessage();
                
    myMail.BodyEncoding = Encoding.GetEncoding("GB2312"); //邮件以 HTML的格式发送
    myMail.BodyFormat= (isHtml) ? MailFormat.Html:MailFormat.Text; //定义邮件的接收地址 
    myMail.To= MailTo; //定义邮件的发送地址 
    myMail.From= MailFrom; //定义邮件的主题 
    myMail.Subject= MailSubject; //定义邮件的主体
    myMail.Body= MailBody;
    myMail.Priority= MailPriority.High;
    //给发送的邮件附加上一个附件
    //myMail.Attachments.Add(new MailAttachment("c:\test.doc")) ; if(SmtpUserName!= null && SmtpUserPassWord != null)
    {
    myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
    myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", SmtpUserName);//Smtp Server 上的用户名
    myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", SmtpUserPassWord);//Smtp Server 上的密码
    }
    //定义SMTP服务器的名称 
    SmtpMail.SmtpServer = SmtpServerAddress;//Smtp Server 地址
    try
    {
    SmtpMail.Send(myMail);
    isOk= true;
    }
    catch
    {
    }
    return isOk; }
      

  2.   

    一分钟1000封如果winmail撑不起,那你就少发一些,把相对时间延长一些罗.