Envoi d'un e-mail
Méthode 1 : Utiliser l'espace de noms System.Web.Mail #region pour envoyer un e-mail : Cette méthode échoue
protected void SendFailed() { System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage(); mail.From = "test@ gmail.com"; mail.To = " test@ gmail.com "; mail.Subject = "For Test"; mail.Priority = System.Web.Mail.MailPriority.Normal; mail.BodyEncoding = Encoding.Default; mail.BodyFormat = MailFormat.Html; mail.Body = "this is a Email!<input type='button' value='ok'/>"; mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "test"); //set your username here mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "****"); //set your password here mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", "smtp.gmail.com"); mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", "587"); mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true"); SmtpMail.SmtpServer = "smtp.gmail.com"; SmtpMail.Send(mail); } #endregion间(此方法我测试没有成功过)
Méthode 2 : Utiliser l'espace de noms System.Net.Mail ( Cette méthode a été testée avec succès)
J'utilise l'adresse email gmail et elle fournit un service smtp gratuit. J'ai essayé plusieurs adresses email sans succès. Le service SMTP de Gmail doit être crypté SSL avant de pouvoir être vérifié avec succès.
#region 发送邮件:此方法可行 protected void SendSuccess() { System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); message.From = new MailAddress("test@gmail.com", "someone");//必须是提供smtp服务的邮件服务器 message.To.Add(new MailAddress("test@yahoo.com.cn")); message.Subject = "测试邮件" ; message.CC.Add(new MailAddress("test@126.com")); message.Bcc.Add(new MailAddress("test@126.com")); message.IsBodyHtml = true; message.BodyEncoding = System.Text.Encoding.UTF8; message.Body = "邮件发送测试"; message.Priority = System.Net.Mail.MailPriority.High; SmtpClient client = new SmtpClient("smtp.gmail.com", 587); // 587;//Gmail使用的端口 client.Credentials = new System.Net.NetworkCredential("test@gmail.com", "password"); //这里是申请的邮箱和密码 client.EnableSsl = true; //必须经过ssl加密 try { client.Send(message); Response.Write("邮件已经成功发送到" + message.To.ToString() + "<br>"); } catch (Exception ee) { Response.Write(ee.Message + "<br>" /* + ee.InnerException.Message*/ ); } } #endregion
Réception des e-mails
J'utilise LumiSoft.Net, un projet open source. J'ai également vu l'adresse de téléchargement d'un internaute, puis j'ai lu le code moi-même et écrit une méthode de réception simple. . Tout d’abord, référencez le fichier dll dans le répertoire release dans le code du projet.
using LumiSoft.Net.POP3.Client; using LumiSoft.Net.Mail; …… public IList<Mail_Message> ReceiveMail() { IList<Mail_Message> mailList = new List<Mail_Message>(); using (POP3_Client client = new POP3_Client()) { client.Connect("pop.gmail.com",995,true); client.Authenticate("zw.seaman", "zw_seaman", false); POP3_ClientMessageCollection coll = client.Messages; for (int i = 0; i < coll.Count; i++) { POP3_ClientMessage message = coll[i]; Mail_Message mm = Mail_Message.ParseFromByte(coll[i].MessageToByte()); mailList.Add(mm); } } return mailList; } protected void Page_Load(object sender, EventArgs e) { IList<Mail_Message> mailList = new ZMail.Mail().ReceiveMail(); foreach (Mail_Message mail in mailList) { StringBuilder sb = new StringBuilder(); sb.Append(mail.From.ToString()).Append(" 发送给 "); sb.Append(mail.To.ToString()).Append("<br/>") ; sb.Append(mail.Subject).Append("<br/>"); sb.Append(mail.BodyHtmlText).Append("<hr/>"); Response.Write(sb.ToString()); } }
Ce qui précède est le contenu du code d'implémentation d'envoi et de réception d'e-mails C# Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (m.sbmmt.com) !