/// <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); }