在程式中如何写自动发邮件的代码

解决方案 »

  1.   

    这个我写过,其实很简单的。
    using System.Net.Mail;
    using System.Net;
    MailMessage mailObj = new MailMessage();//在邮件对象属性里设置收信人地址,主题,正文等等
    SmtpClient smtp = new SmtpClient();//这个对象是邮件发送帐户,也就是你自己的邮箱和密码等等。
    smtp.Send(mailObj);//然后发送就行了下面是这两个对象属性设置的例子(下面看不懂没关系,因为控件你看不到,上面的明白就行了!):            mailObj.From = new MailAddress(myMailTextBox.Text);
                mailObj.To.Clear();
                if (mailToTextBox.Text.ToString() == "")
                { return "请填写收件人!"; }            string[] addr = mailToTextBox.Text.ToString().Split(new char[] { ';' });            for (int i = 0; i < addr.Length; i++)
                {
                    try
                    {
                        mailObj.To.Add(addr[i]);
                    }
                    catch
                    { }
                }            if (mailObj.To.Count == 0)
                { return "收件人填写不正确!"; }            if (mailCCTextBox.Text.ToString() != "")
                {                addr = mailCCTextBox.Text.ToString().Split(new char[] { ';' });
                    for (int i = 0; i < addr.Length; i++)
                    {
                        try
                        {
                            mailObj.CC.Add(addr[i]);
                        }
                        catch
                        { }
                    }
                    if (mailObj.CC.Count == 0)
                    { return "抄送人地址不正确!"; }
                }            mailObj.Subject = mailSubjectTextBox.Text.ToString();
                mailObj.Body = mailbody;            SmtpClient smtp = new SmtpClient();
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtp.Host = "smtp." + myMailTextBox.Text.Substring(myMailTextBox.Text.IndexOf("@") + 1);
                smtp.UseDefaultCredentials = true;
                smtp.Credentials = new NetworkCredential(myMailTextBox.Text.Substring(0, myMailTextBox.Text.IndexOf("@")), myMailpassTextBox.Text);
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                try
                {
                    smtp.Send(mailObj);
                    return "邮件发送成功!";
                }
                catch (Exception ex)
                {
                    return ex.Message.ToString();
                }