반응형
/* 465 stmps 일떄 메일 전송 테스트 */
//★★★★★★★★★★AIM - 메일 제목 (한글 깨짐) , 메일 내용 (스타일 X)★★★★★★★★★★★★
#region
//UTF-8
//byte[] bytes = Encoding.Default.GetBytes(testSubject);
//testSubject = Encoding.UTF8.GetString(bytes);

//EUC-KR
//byte[] bytes = Encoding.Default.GetBytes(testSubject);
//testSubject = Encoding.GetEncoding(51949).GetString(bytes);

//UTF-32 얘는 깨지네
//byte[] bytes = Encoding.Default.GetBytes(testSubject);
//testSubject = Encoding.UTF32.GetString(bytes);

//인코딩 체크
//var encodingName = mailMessage.SubjectEncoding.BodyName.ToLower();
//string.Format("=?{0}?B?{1}?=", encodingName, Convert.ToBase64String(mailMessage.SubjectEncoding.GetBytes(mailMessage.Subject)));

//mailMessage.Subject = Encoding.GetEncoding(51949).GetString(bytes);
//mailMessage.Subject = Encoding.UTF8.GetString(bytes); //string으로 받아서 보내면 안꺠지지만 바로 쓰면 꺠짐
//mailMessage.Subject = Encoding.GetEncoding(51949).GetString(bytes); //SUbject는 꺠지지 않지만 전송할떄 꺠짐
//mailMessage.Subject = Encoding.UTF32.GetString(bytes) //한글 자체가 깨짐

//subject 인코딩
//mailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding(51949); //ecu-kr
//mailMessage.SubjectEncoding = System.Text.Encoding.UTF8; //UTF-8
//mailMessage.SubjectEncoding = System.Text.Encoding.Default; //Default

//mailMessage.Subject = "메일 제목";
//mailMessage.Body = "메일 내용";

//인코딩 체크
//encodingName = mailMessage.BodyEncoding.BodyName.ToLower();
//string.Format("=?{0}?B?{1}?=", encodingName, Convert.ToBase64String(mailMessage.BodyEncoding.GetBytes(mailMessage.Subject)));

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//var mailMessage = new MimeMailMessage();

//DateTime dateT = DateTime.Now;
//string datePart = dateT.ToString("yyyy-MM-dd hh:mm:ss");

//mailMessage.Subject = "메일 제목";
//mailMessage.Body = "메일 내용";
//mailMessage.IsBodyHtml = true; //html 형식인지 True or false

//var encodingName = mailMessage.BodyEncoding.BodyName.ToLower();
//string.Format("=?{0}?B?{1}?=", encodingName, Convert.ToBase64String(mailMessage.BodyEncoding.GetBytes(mailMessage.Subject)));

//mailMessage.From = new MimeMailAddress("보내는 사람 메일");
//mailMessage.To.Add(new MimeMailAddress("받는 사람 메일"));

//var emailer = new SmtpSocketClient();
//emailer.Host = "smtp host명";
//emailer.Port = Port명;
//emailer.SslType = SslMode.Ssl;
//emailer.User = "smtp 아이디";
//emailer.Password = "smtp 비밀번호";
//emailer.AuthenticationMode = AuthenticationType.Base64;
//emailer.MailMessage = mailMessage;
//emailer.SendMailAsync();
#endregion

//★★★★★★★★★전송 X 465포트는 불가능★★★★★★★★★
//EASendMail
#region
//SmtpMail oMail = new SmtpMail("TryIt");

//DateTime dateT = DateTime.Now;
//string datePart = dateT.ToString("yyyy-MM-dd hh:mm:ss"); //메일 보내는 시간

//oMail.Subject = "메일 제목";
//oMail.TextBody = "메일 내용"; //텍스트로 보내는 body
//oMail.HtmlBody = "메일 내용"; //HTML 코드로 보내는 body

//oMail.From = "보내는 사람 메일";
//oMail.To = "받는 사람 메일";

// Your SMTP server address
//SmtpServer oServer = new SmtpServer(smtpConfig.Network.Host); // smtp Host 명
// User and password for ESMTP authentication
//oServer.User = smtpConfig.Network.UserName; //smtp 아이디
//oServer.Password = smtpConfig.Network.Password; //smtp 비밀번호

// Set SSL 465 port
//oServer.Port = 465; Port 명
// Set direct SSL connection, you can also use ConnectSSLAuto
//oServer.ConnectType = SmtpConnectType.ConnectSSLAuto;
//oServer.AuthType = SmtpAuthType.AuthAuto;

//SmtpClient oSmtp = new SmtpClient();
//oSmtp.SendMail(oServer, oMail);
#endregion

//전송 X
//★★★★★★★★★Chilkat ★★★★★★★★★
#region
//Chilkat.MailMan mailman = new Chilkat.MailMan();

//// Set the SMTP server.
//mailman.SmtpHost = "smtp Host 명";

//// Set SMTP login and password (if necessary)
//mailman.SmtpUsername = "smtp 아이디";
//mailman.SmtpPassword = "smtp 비밀번호";

//mailman.SmtpSsl = true;
//mailman.SmtpPort = 465;

//// Create a new email object
//Chilkat.Email email = new Chilkat.Email();

//email.Subject = "메일 제목";
//email.Body = "메일 내용";
//email.From = "메일 보내는 사람";
//bool success = email.AddTo("받는사람 이름 ", "받는사람 이메일 명");

//success = mailman.SendEmail(email);
//success = mailman.CloseSmtpConnection();
#endregion

//★★★★★★★★★System.Net.Mail의 465 Port Implicit Port는 사용 불가능★★★★★★★★★
#region
//System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("smtp 호스트 명", 포트번호)
//{
// UseDefaultCredentials = false, // 시스템에 설정된 인증 정보를 사용하지 않는다.
// EnableSsl = true, // SSL을 사용한다.
// DeliveryMethod = SmtpDeliveryMethod.Network, // 이걸 하지 않으면 Gmail에 인증을 받지 못한다.
// Credentials = new System.Net.NetworkCredential("Smtp 아이디 ", "Smtp 비밀번호"),
// Timeout = 10000
//};

//MailAddress from = new MailAddress("보내는 사람 메일", "보내는 사람 이름", System.Text.Encoding.UTF8);
//MailAddress to = new MailAddress("받는 사람 메일");

//MailMessage message = new MailMessage(from, to);

//message.Body = "내용";
//string someArrows = new string(new char[] { '\u2190', '\u2191', '\u2192', '\u2193' });
//message.Body += Environment.NewLine + someArrows;
//message.BodyEncoding = System.Text.Encoding.UTF8;
//message.Subject = "test message 2" + someArrows;
//message.SubjectEncoding = System.Text.Encoding.UTF8;

//client.Send(message);

//message.Dispose();
#endregion

//★★★★★★★★★System.Web.Mail 지원 X★★★★★★★★★
#region
//System.Web.Mail.MailMessage msg = new System.Web.Mail.MailMessage();

//msg.Body = "Test is good";
//msg.Subject = "Test mail";
//msg.To = "보내는 사람 메일";
//msg.From = "받는 사람 메일";

//int cdoBasic = 1;

//msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", true);
//msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 465);
//msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", cdoBasic);
//msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "...[다음_사용자_계정]...");
//msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "...[다음_사용자_암호]...");

//SmtpMail.SmtpServer = "smtp.daum.net";
//SmtpMail.Send(msg);

==정리==
결국 smtps로 보내는 로직은 실패 하였다.
AIM을 써서 성공은 하였지만 제목에는 한글이 인코딩을 해도 안들어가고
body에는 html로 스타일을 지정하였지만 텍스트로만 들어간다.

개발자 사이트 까지 뒤져가면서 확인했지만 2018년에 스타일 추가하는 로직 넣어서 수정한다고 하였는데
글을 적는 현재까지 수정이 되지 않아서 버리고 smtp 서버를 다시 요청하였다.

진짜 개 쉣더 뻑인거 같다 smtps...

+ Recent posts