SMALL
2019년 쯤에 ncp 메일보내기 기능을 좀더 쉽게 사용하기 위해 C#코드로 작성해 놓은 라이브러리가 있어서 공유한다.
C# Mail 보내기 라이브러리를 만들었습니다.
아래는 라이브러리 사용 방법입니다.
라이브러리명 : MailHelper
라이브러리 버전 : 1.0
설명 : NCP OutBound Mailer API를 이용한 메일 보내기 라이브러리
사용법
1) 라이브러리 참조 추가 및 namespace 추가
using MailHelper;
2) 선언
private static NcpMailer Mailer = null; // 메일 라이브러리
3) 변수 셋팅
string accessKey = "##accesskey##"; // 발급받은 accessKey
string secretKey = "##secretkey##"; // 발급받은 secretKey
string sendEmail = "##이메##"; // 발신자 이메일
string senderName = "고객만족팀"; // 발신자 명
string domain = "https://mail.apigw.ntruss.com"; // API 도메인
string url = "/api/v1/mails"; // API url
Mailer = new NcpMailer(accessKey, secretKey, sendEmail, senderName, domain, url); // 변수 셋팅
Mailer.Success += MailSendSuccess; // 성공시 호출될 함수,
Mailer.Fail += MailSendFail; // 실패시 호출될 함수
4) 전송
string email = "##이메일##"; // 수신자 이메일
string subject = "test 한글 되나?"; // 제목
string body = "TEST BODY ㅋㅋㅋㅋ"; // 내용
Mailer.Send(email, subject, body); // 전송 함수 호출
5) 성공, 실패
// 성공시 호출 되는 함수
private void MailSendSuccess(string email, string subject, string body, string response)
{
// 성공후 할 작업을 작성 하면 됩니다.
// ex) 로그 남김
Console.WriteLine(string.Format("email : {0}\r subject : {1}\r body : {2}\r response : {3}", email, subject, body, response));
}
// 실패시 호출되는 함수
private void MailSendFail(string email, string subject, string body, Exception ex)
{
// 실패후 할 작업을 작성 하면 됩니다.
// ex) 로그 남김
Console.WriteLine(string.Format("email : {0}\r subject : {1}\r body : {2}\r Exception : {3}", email, subject, body, ex.Message));
}
ex)
using MailHelper;
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;
namespace mailTest
{
public partial class Form1 : Form
{
private static NcpMailer Mailer = null; // 메일 라이브러리
public Form1()
{
InitializeComponent();
// 변수 셋팅
string accessKey = "##accesskey##";
string secretKey = "##secretkey##";
string sendEmail = "##메일주소##";
string senderName = "##보내는 사람##";
string domain = "https://mail.apigw.ntruss.com";
string url = "/api/v1/mails";
Mailer = new NcpMailer(accessKey, secretKey, sendEmail, senderName, domain, url);
Mailer.Success += MailSendSuccess;
Mailer.Fail += MailSendFail;
}
// 보내기 버튼 이벤트
private void button1_Click(object sender, EventArgs e)
{
string email = "##이메일##";
string subject = "test 한글 되나?";
string body = "TEST BODY ㅋㅋㅋㅋ";
Mailer.Send(email, subject, body); // 전송
}
private void MailSendSuccess(string email, string subject, string body, string response)
{
Console.WriteLine(string.Format("email : {0}\r subject : {1}\r body : {2}\r response : {3}", email, subject, body, response));
}
private void MailSendFail(string email, string subject, string body, Exception ex)
{
Console.WriteLine(string.Format("email : {0}\r subject : {1}\r body : {2}\r Exception : {3}", email, subject, body, ex.Message));
}
}
}
소스코드
https://github.com/timez-2i/MailHelper
// 추가
2019년에 HttpWebRequest를 사용하여 API를 호출 하였으나 TLS 버전을 지원 하기 위해 수정이 필요함.
귀찮니즘이 없어지면 수정할 예정 -_-;;
CRequestUtil 부분만 변경 하면 될듯??
BIG
'Language > C#' 카테고리의 다른 글
인터넷 또는 제한 영역에 있거나 파일에 웹 표시가 있으므로 처리할 수 없습니다. (0) | 2023.02.27 |
---|