我现在有一个txt文件里面有客户代码和收件人地址,有一个附件文件夹里面全部是要发送的附件,我现在要根据客户代码生成邮件,并且生成附件,附件的文名是以客户代码和日期命名的。
自动生成邮件和附件到本机的默认邮件客户端发件箱内,如outlook等。请问用C# winform怎么实现。

解决方案 »

  1.   

    可以完成,有专门的发送邮件类
    System.Net.Mail
      

  2.   

    发送邮件需要指定SMTP服务器 用户名 密码 跟你装什么客户端没什么关系。
      

  3.   

    public void SendMailUseZj() 

    System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); 
    msg.To.Add("[email protected]"); 
    msg.To.Add("[email protected]"); 
    /**//* 
    * msg.To.Add("[email protected]"); 
    * msg.To.Add("[email protected]"); 
    * msg.To.Add("[email protected]");可以发送给多人 
    */ 
    msg.CC.Add("[email protected]"); 
    /**//* 
    * msg.CC.Add("[email protected]"); 
    * msg.CC.Add("[email protected]");可以抄送给多人 
    */ 
    msg.From = new MailAddress("[email protected]", "AlphaWu", System.Text.Encoding.UTF8); 
    /**//* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/ 
    msg.Subject = "这是测试邮件";//邮件标题 
    msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码 
    msg.Body = "邮件内容";//邮件内容 
    msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码 
    msg.IsBodyHtml = false;//是否是HTML邮件 
    msg.Priority = MailPriority.High;//邮件优先级 SmtpClient client = new SmtpClient(); 
    client.Credentials = new System.Net.NetworkCredential("[email protected]", "userpass"); 
    //在aa.com注册的邮箱和密码 
    client.Host = "smtp.aa.com"; 
    object userState = msg; 
    try 

     client.SendAsync(msg, userState); 
     //简单一点儿可以client.Send(msg); 
     MessageBox.Show("发送成功"); 

    catch (System.Net.Mail.SmtpException ex) 

     MessageBox.Show(ex.Message, "发送邮件出错"); 

    }