C#을 사용하여 HTML 형식의 이메일 보내기

Muhammad Zeeshan 2023년10월12일
  1. C#을 사용하여 HTML 형식의 이메일을 보내는 Windows Form 만들기
  2. C#을 사용하여 HTML 형식의 이메일을 보내는 코드 작성
C#을 사용하여 HTML 형식의 이메일 보내기

이 기사에서는 ASP.Net에서 C#을 사용하여 HTML 형식의 이메일을 보내는 방법을 설명합니다.

SMTP를 통한 이메일 전송은 현재 Gmail 계정 또는 완전히 새로운 계정으로 테스트할 수 있습니다. Gmail 메일러 클라이언트는 통신에 사용할 수 있습니다.

C#을 사용하여 HTML 형식의 이메일을 보내는 Windows Form 만들기

  • 사용자 이름에 대한 레이블 및 텍스트 상자를 추가합니다. 발신자의 사용자 이름이 됩니다.

    Windows Form - 사용자 이름 텍스트 상자

  • 비밀번호에 대한 레이블 및 텍스트 상자를 추가합니다. 발신자 계정의 비밀번호가 됩니다.

    Windows Form - 암호 텍스트 상자

  • Sendto에 대한 레이블 및 텍스트 상자를 추가합니다. 수신자의 메일 주소가 됩니다.

    Windows Form - Sendto Textbox

  • 제목 또는 제목에 대한 레이블 및 텍스트 상자를 추가합니다.

    Windows Form - 제목 텍스트 상자

  • 마지막으로 메일 보내기라는 버튼을 만듭니다.

    Windows Form - 메일 보내기 버튼

    완전한 양식은 다음과 같습니다.

    C# HTML 이메일 보내기 - Windows Form

C#을 사용하여 HTML 형식의 이메일을 보내는 코드 작성

다음은 C#을 사용하여 HTML 형식의 이메일을 보내는 코드를 작성하는 데 필요한 단계입니다.

  • 시작하려면 다음 라이브러리를 가져옵니다.
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Net.Mail;
    
  • MailMessage 개체 및 SmtpClient 개체를 만듭니다.
    MailMessage mail = new MailMessage();
    SmtpClient smtp = new SmtpClient("smtp.gmail.com");
    
  • 이제 보낸 사람, 받는 사람, 제목, 본문 등과 같은 속성 값을 할당합니다.
    mail.To.Add(sendtotxt.Text);
    mail.Subject = subjecttxt.Text;
    var htmlbody = "Here your can write your html";
    mail.Body = htmlbody;
    smtp.Port = 587;
    smtp.Credentials = new System.Net.NetworkCredential(usertxt.Text, passtxt.Text);
    
  • SSL을 활성화하고 메시지를 보냅니다.
    smtp.EnableSsl = true;
    smtp.Send(mail);
    

완전한 소스 코드

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net.Mail;

namespace EmailExample {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void sendbtn_Click(object sender, EventArgs e) {
      try {
        MailMessage mail = new MailMessage();
        SmtpClient smtp = new SmtpClient("smtp.gmail.com");
        mail.From = new MailAddress(usertxt.Text);
        mail.To.Add(sendtotxt.Text);
        mail.Subject = subjecttxt.Text;
        var htmlbody = "Here your can write your html";
        mail.Body = htmlbody;
        smtp.Port = 587;
        smtp.Credentials = new System.Net.NetworkCredential(usertxt.Text, passtxt.Text);
        smtp.EnableSsl = true;
        smtp.Send(mail);
        MessageBox.Show("Mail Sent!");
      } catch (Exception ex) {
        MessageBox.Show(ex.Message);
      }
    }
  }
}

출력:

C# HTML 이메일 보내기 - 출력

Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

관련 문장 - Csharp Email