Maison > développement back-end > Tutoriel C#.Net > Code d'implémentation d'envoi et de réception d'e-mails C#

Code d'implémentation d'envoi et de réception d'e-mails C#

黄舟
Libérer: 2016-12-22 13:49:13
original
2336 Les gens l'ont consulté

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=&#39;button&#39; value=&#39;ok&#39;/>"; 
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间(此方法我测试没有成功过)
Copier après la connexion

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
Copier après la connexion

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()); 
} 
}
Copier après la connexion

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) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal