C\#메 일 발송 및 수신 실현 코드
#region :
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
방법 2:System.Net.Mail 네 임 스페이스(이 방법 테스트 성공)를 사용 하여 제 가 사용 하 는 gmail 메 일과 그 가 무료 smtp 서 비 스 를 제공 하기 전에 여러 개의 메 일 을 시도 해 보 았 지만 성공 하지 못 했 습 니 다.Gmail 의 smtp 서 비 스 는 ssl 암호 화 를 거 쳐 야 성공 을 검증 할 수 있 습 니 다.
#region :
protected void SendSuccess()
{
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.From = new MailAddress("[email protected]", "someone");// smtp
message.To.Add(new MailAddress("[email protected]"));
message.Subject = " " ;
message.CC.Add(new MailAddress("[email protected]"));
message.Bcc.Add(new MailAddress("[email protected]"));
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("[email protected]", "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
메 일 로 제 가 사용 하 는 것 은 LumiSoft.Net 이라는 오픈 소스 프로젝트 이자 한 네티즌 에 게 서 본 다운로드 주소 입 니 다.그리고 코드 를 보고 간단 한 수신 방법 을 썼 습 니 다.우선 코드 에 있 는 relrease 디 렉 터 리 의 dll 파일 을 항목 에 참조 합 니 다.
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());
}
}
이 두 가지 방법 은 쉽게 이해 할 수 있 고 가장 기본 적 인 기능 만 실 현 했 으 며 필요 하 다 면 소스 코드 를 보고 더 많은 정 보 를 얻 을 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.