服务器上没装outlook,但是运行了pop3服务和exchange服务。我怎样把程序里写的邮件放到服务器上的队列里面去?
现在写的发送邮件的代码不管用了。需要把邮件放到队列里发送呀?有这方面的代码参考吗?用Jmail可以放到队列排队去吗?

解决方案 »

  1.   


    直接调用服务就行了。代码贴出来看看,可能是本来的代码调用了OUTLOOK的API
      

  2.   

        
    public class EMail
        {
            private MailMessage mailMessage;
            private SmtpClient smtpClient;        public void SendAsync()
            {
                try
                { 
                    //邮件内容
                    using (mailMessage = new MailMessage())
                    {
                        string strSendTo  = “”;
                        mailMessage.To.Add(strSendTo);
                        string strCcTo= “”;
                        mailMessage.CC.Add(strCcTo);
                    
                        mailMessage.Subject = setting.Title;
                        mailMessage.Body = setting.Content;
                        mailMessage.IsBodyHtml = false;
                        mailMessage.BodyEncoding = System.Text.Encoding.UTF8;
                        mailMessage.Priority = System.Net.Mail.MailPriority.Normal;
                        //附件
                        //发邮件凭证
                        BaseConfig config = new BaseConfig();
                        config.Load();
                        mailMessage.From = new System.Net.Mail.MailAddress("[email protected]");
                        string password = "";  
                        smtpClient = new SmtpClient();
                        smtpClient.Credentials = new System.Net.NetworkCredential(mailMessage.From.Address, password);//设置发件人身份的票据  
                        //smtpClient.EnableSsl = false;//有的邮件服务器需要ssl加密,加密和不加密端口不同
                        smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
                        //smtpClient.Host = "smtp." + mailMessage.From.Host;
                        smtpClient.Host = config["EmailServer"].Value;
                        //smtpClient.Port = 25;
                        smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted);
                        smtpClient.SendAsync(mailMessage, null);
                    }
                    
                }
                catch(Exception ex)
                {
     
                }
            }               void smtpClient_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
            {
              
                try
                {
                    if (e.Cancelled)
                    {                        // "邮件发送取消"
                        return;
                    }                if (e.Error != null)
                    {
                        string msg = string.Empty;
                        if (e.Error.InnerException != null)
                        {
                            msg = e.Error.InnerException.Message;
                        }
                        
                        return;
                    }
                   //发送成功            }
                catch (Exception ex)
                { 
                }
            }    }
      

  3.   

    异步调用主要是MailMessage 和SmtpClient 
      

  4.   

    http://blog.csdn.net/lff642/archive/2008/07/15/2654346.aspx