示例#1
0
        /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="MailAddress">发件人地址</param>
        /// <param name="MailAddress">收件人地址</param>
        /// <param name="MailCopyAddress">抄送人地址</param>
        /// <param name="senduser">发件人身份凭据关联的用户名</param>
        /// <param name="sendpwd">发件人身份凭据关联的密码</param>
        public bool SendMailBySmtp(Mail mail, List <string> MailAddress, List <string> MailCopyAddress, MailServer.SmtpHost host, string senduser, string sendpwd)
        {
            System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
            foreach (var address in MailAddress)
            {
                msg.To.Add(address);
            }

            foreach (var address in MailCopyAddress)
            {
                msg.CC.Add(address);
            }

            msg.From = new MailAddress(mail.Address, mail.Name, System.Text.Encoding.UTF8);
            /* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/
            msg.Subject         = mail.Subject;              //邮件标题
            msg.SubjectEncoding = System.Text.Encoding.UTF8; //邮件标题编码
            msg.Body            = mail.Subject;              //邮件内容
            msg.BodyEncoding    = System.Text.Encoding.UTF8; //邮件内容编码
            foreach (var Attach in mail.Attachments)
            {
                msg.Attachments.Add(new Attachment(Attach));
            }
            //msg.IsBodyHtml = false;//是否是HTML邮件
            //msg.Priority = MailPriority.High;//邮件优先级

            MailHost   mailHost = MailServer.GetSmtpHost(host);
            SmtpClient client   = new SmtpClient(mailHost.mailHost, mailHost.mailPort);

            client.Credentials = new NetworkCredential(senduser, sendpwd);
            client.EnableSsl   = true;
            client.Send(msg);
            object userState = msg;

            try
            {
                client.SendAsync(msg, userState);
                //MessageBox.Show("发送成功");
                return(true);
            }
            catch
            {
                //MessageBox.Show(ex.Message, "发送邮件出错");
                return(false);
            }
        }
        public static MailHost GetPop3Host(SmtpHost smtphost)
        {
            MailHost host = new MailHost();

            switch (smtphost)
            {
            case SmtpHost.qq:
                host.mailHost = "pop.qq.com";
                host.mailPort = 110;
                break;

            case SmtpHost.qqexmail:
                host.mailHost = "pop.exmail.qq.com";
                host.mailPort = 995;
                break;

            case SmtpHost.wy126:
                host.mailHost = "pop.126.com";
                host.mailPort = 110;
                break;

            case SmtpHost.wy163:
                host.mailHost = "pop.126.com";
                host.mailPort = 110;
                break;

            case SmtpHost.china:
                host.mailHost = "pop.china.com";
                host.mailPort = 110;
                break;

            case SmtpHost.HotMail:
                host.mailHost = "pop.live.com";
                host.mailPort = 995;
                break;

            case SmtpHost.yd139:
                host.mailHost = "POP.139.com";
                host.mailPort = 110;
                break;

            case SmtpHost.gmail:
                host.mailHost = "pop.gmail.com";
                host.mailPort = 995;
                break;

            case SmtpHost.els263cn:
                host.mailHost = "pop.263.net.cn";
                host.mailPort = 110;
                break;

            case SmtpHost.dx21cn:
                host.mailHost = "pop.21cn.com";
                host.mailPort = 110;
                break;

            case SmtpHost.Foxmail:
                host.mailHost = "POP.foxmail.com";
                host.mailPort = 110;
                break;

            case SmtpHost.sina:
                host.mailHost = "pop3.sina.com.cn";
                host.mailPort = 110;
                break;

            case SmtpHost.sinaVIP:
                host.mailHost = "pop3.vip.sina.com";
                host.mailPort = 110;
                break;

            case SmtpHost.tom:
                host.mailHost = "pop.tom.com";
                host.mailPort = 110;
                break;

            case SmtpHost.sohu:
                host.mailHost = "pop3.sohu.com";
                host.mailPort = 110;
                break;

            case SmtpHost.etang:
                host.mailHost = "smtp.etang.com";
                host.mailPort = 110;
                break;

            case SmtpHost.els263:
                host.mailHost = "pop3.263.net";
                host.mailPort = 110;
                break;

            case SmtpHost.x263:
                host.mailHost = "pop.x263.net";
                host.mailPort = 110;
                break;

            case SmtpHost.yahoo:
                host.mailHost = "pop.mail.yahoo.com";
                host.mailPort = 110;
                break;

            case SmtpHost.yahooISSSL:
                host.mailHost = "pop.mail.yahoo.com";
                host.mailPort = 995;
                break;

            case SmtpHost.yahoocn:
                host.mailHost = "pop.mail.yahoo.com.cn";
                host.mailPort = 995;
                break;
            }
            return(host);
        }