使用微软的组件发邮件

        /// C#发送邮件函数 该方法调用的是微软的.NET内部组件
        /// </summary>
        /// <param name="from">发送者邮箱</param>
        /// <param name="fromer">发送人</param>
        /// <param name="to">接受者邮箱</param>
        /// <param name="toer">收件人</param>
        /// <param name="Subject">主题</param>
        /// <param name="Body">内容</param>
        /// <param name="file">附件</param>
        /// <param name="SMTPHost">smtp服务器</param>
        /// <param name="SMTPuser">邮箱</param>
        /// <param name="SMTPpass">密码</param>
        /// <returns></returns>
        public bool Sendmail(string sfrom, string sfromer, string sto, string stoer, string sSubject, string sBody, string sfile, string sSMTPHost, string sSMTPuser, string sSMTPpass)
        {
            ////设置from和to地址
            MailMessage oMail = new MailMessage();
            try
            {
                MailAddress from = new MailAddress(sfrom, sfromer);
                MailAddress to = new MailAddress(sto, stoer);
                ////创建一个MailMessage对象
                oMail = new MailMessage(from, to);
                //// 添加附件
                if (sfile != "")
                {
                    oMail.Attachments.Add(new System.Net.Mail.Attachment(sfile));
                }
                ////邮件标题
                oMail.Subject = sSubject.ToString();
                ////邮件内容
                oMail.Body = sBody;
                ////邮件格式
                oMail.IsBodyHtml = true;
                ////邮件采用的编码
                oMail.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");
                ////设置邮件的优先级为高
                oMail.Priority = MailPriority.High;
                ////发送邮件
                SmtpClient client = new SmtpClient();
                ////client.UseDefaultCredentials = false;
                //smtp服务器
                client.Host = sSMTPHost;
                //身份验证
                if (!sfrom.ToLower().Contains("hotmail") && !sfrom.ToLower().Contains("hexun"))
                {
                    client.Credentials = new NetworkCredential(sSMTPuser, sSMTPpass);
                }
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                if (sfrom.ToLower().Contains("gmail"))
                {
                    client.EnableSsl = true;
                    client.Port = 587;
                }
                if (sfrom.ToLower().Contains("hexun"))
                {
                    client.Credentials = new NetworkCredential(sSMTPuser, sSMTPpass);
                   // client.Credentials = new NetworkCredential(sfrom, sSMTPpass);
                }
                if (sfrom.ToLower().Contains("yahoo"))
                {
                    client.Port = 587;
                }
                if (sfrom.ToLower().Contains("hotmail"))
                {
                    client.EnableSsl = true;
                    client.Credentials = new NetworkCredential(sfrom, sSMTPpass);
                    client.Port = 25;
                }
                client.Send(oMail);
                return true;
            }
            catch (Exception err)
            {
                return false;
            }
            finally
            {
                ////释放资源
                oMail.Dispose();
            }
        }

  

posted @ 2012-12-11 18:16  麦田HH  阅读(304)  评论(0编辑  收藏  举报