728x90
반응형
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mail;
using System.Web;
namespace Helper
{
public class Email
{
#region SendSimpleMail - Easy Form 메일 전송
/// <summary>
/// Simple Email 발송
/// </summary>
/// <param name="fromAddress">보내는사람 메일주소</param>
/// <param name="toAddress">받는사람 메일주소</param>
/// <param name="textSubject">email 제목</param>
/// <param name="textContent">email 내용</param>
/// <param name="isBodyHtml">true:HTML사용 / false:HTML미사용</param>
/// <returns></returns>
public Boolean SendSimpleMail(string fromAddress, string fromName, string toAddress, string textSubject, string textContent, bool isBodyHtml)
{
MailMessage mail = new MailMessage();
try
{
// [보내는 사람 설정]
mail.From = new MailAddress(fromAddress.ToString(), fromName, System.Text.Encoding.UTF8);
// [받는 사람 설정]
mail.To.Add(toAddress);
// [제목 설정]
mail.Subject = textSubject;
mail.SubjectEncoding = System.Text.Encoding.UTF8;
// [내용 설정]
mail.Body = textContent;
mail.BodyEncoding = System.Text.Encoding.Default;
// [HTML 사용 설정]
mail.IsBodyHtml = isBodyHtml;
// [메일 발송] 시작
SmtpClient smtp = new SmtpClient("127.0.0.1");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = true;
#region SmtpClient 세팅방법
// 로컬서버에 SMTP 서비스가 설정되어 있어야 하며, 엑세스>릴레이제한>릴레이에서
// '아래 목록만' : 선택 // 추가 -> 127.0.0.1
// 위 목록과 상관없이 성공적으로 인증한 모든 컴퓨터에 릴레이 가능 : 체크해제
#endregion
smtp.Send(mail);
return true;
}
catch (Exception e)
{
return false;
}
// [메일 발송] 끝
}
#endregion
#region fctSendMultiMail - Multi Email 발송
/// </summary>
/// <param name="fromAddress">보내는사람 메일주소</param>
/// <param name="toAddrS">받는사람 메일주소 배열</param>
/// <param name="textSubject">email 제목</param>
/// <param name="textContent">email 내용</param>
/// <param name="isBodyHtml">true:HTML사용 / false:HTML미사용</param>
/// <returns></returns>
public string SendMultiMail(string fromAddress, string fromName, List<String> toAddrS, List<String> toRefS, string textSubject, string textContent, bool isBodyHtml)
{
MailMessage mail = new MailMessage();
try
{
//int intIdx;
//String[] splittedAddr = toAddrS.ToArray();
// [보내는 사람 설정]
mail.From = new MailAddress(fromAddress.ToString(), fromName, System.Text.Encoding.UTF8);
// [제목 설정]
mail.Subject = textSubject;
mail.SubjectEncoding = System.Text.Encoding.UTF8;
// [내용 설정]
mail.Body = textContent;
mail.BodyEncoding = System.Text.Encoding.Default;
// [HTML 사용 설정]
mail.IsBodyHtml = isBodyHtml;
SmtpClient smtp = new SmtpClient("127.0.0.1");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = true;
#region SmtpClient 세팅방법
// 로컬서버에 SMTP 서비스가 설정되어 있어야 하며, 엑세스>릴레이제한>릴레이에서
// '아래 목록만' : 선택 // 추가 -> 127.0.0.1
// 위 목록과 상관없이 성공적으로 인증한 모든 컴퓨터에 릴레이 가능 : 체크해제
#endregion
Int32 mailCount = 0;
foreach (var toAddr in toAddrS ?? (new List<String>()))
{
if (toAddr.Length > 0)
{
mail.To.Add(toAddr);
mailCount++;
}
}
foreach (var toRef in toRefS ?? (new List<String>()))
{
if (toRef.Length > 0)
{
mail.CC.Add(toRef);
mailCount++;
}
}
if (mailCount > 0)
{
smtp.Send(mail);
}
return "";
}
catch (Exception e)
{
// [메일 발송실패]
return e.InnerException.Message;
}
// [메일 발송] 끝
}
#endregion
}
}
728x90
반응형
'C#' 카테고리의 다른 글
C#] Tuple types (0) | 2021.10.13 |
---|---|
C#] EmailTemplate 활용하여 메일 발송하기 (0) | 2021.09.28 |
네이버 스마트에디터] 이미지파일 업로드시 Base64인코딩 태그로 수정 (0) | 2021.09.06 |
C#] JWT, JSON Web Token 사용법 (0) | 2020.10.23 |
C#] AES128, AES256 암호화 복호화 코드 (0) | 2020.10.16 |
댓글