C# 알아가기 (2-1. C# 네이버 smtp 추가)

min seung moon·2021년 8월 5일
0

C#알아가기

목록 보기
3/10
post-custom-banner

1. Naver SMTP

  • 이전 2에서는 Gmail, SendGrid로 Mail을 보내고 Twilo로 SMS를 보냈는데요!
  • 오늘은 추가로 네이버 메일도 사용해볼건데 솔직히 Gmail을 살짝만 바꿔주면 끝!
  • 네이버 메일 -> 하단 환경설정 -> POP3/IMAP 설정 -> IMAP/SMTP 설정
    • 아래 빨간색으로 표시한 부분 잘 확인해주세요!
    • 만약에 2단계 인증이 되어있는 아이디라면 해제도 해주셔야 됩니다!
	private void naverbtn_Click(object sender, EventArgs e)
        {
            NaverRun();
        }

        private async void NaverRun()
        {
            string email = navertxt.Text;

            if (EmailValdate(email))
            {
                _duration = 60;
                _auth_code = GetRandomCode();
                timer1.Stop();
                timer1 = new Timer();
                timer1.Tick += new EventHandler(CountDown);
                timer1.Interval = 1000;
                timer1.Start();

                await Task.Run(() => sendNaverAsync(email));
                auth_btn.Enabled = true;
            }
            else
            {
                MessageBox.Show("이메일을 제대로 확인해주세요.");
            }
        }
        private void sendNaverAsync(string email)
        {
            MailMessage mailMessage = new MailMessage();
            mailMessage.From = new MailAddress(ConfigurationManager.AppSettings["NaverFrom"], "mms"); // 보내는 사람
            mailMessage.To.Add(email);
            mailMessage.Subject = "인증코드";
            mailMessage.SubjectEncoding = System.Text.Encoding.UTF8;
            mailMessage.Body = $"인증 코드 : {_auth_code}";
            mailMessage.BodyEncoding = System.Text.Encoding.UTF8;
            
            SmtpClient SmtpServer = new SmtpClient("smtp.naver.com");
            SmtpServer.Port = 587;
            SmtpServer.EnableSsl = true;
            SmtpServer.UseDefaultCredentials = false;
            SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network;
            SmtpServer.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["NaverID"], ConfigurationManager.AppSettings["NaverPW"]);
            SmtpServer.Send(mailMessage);
        }
profile
아직까지는 코린이!
post-custom-banner

0개의 댓글