반응형
//시간 시간:분분 format 만들기
function _fnFormatTime(vTime)
{
    if (String(vTime).length > 3) {
        return String(vTime).replace(/(\d{2})(\d{2})/, '$1:$2');
    }
    else {
        var vValue = "0" + String(vTime)
        return vValue.replace(/(\d{2})(\d{2})/, '$1:$2');
    }
}
반응형
//날짜 입력 시 무슨 요일인지 찾아주는 함수
function _fnGetWhatDay(vDate) {

    if (String(vDate).length != 8) {
        return vDate;
    }
    else
    {
        var vformat = String(vDate);
        vformat = vformat.replace(/(\d{4})(\d{2})(\d{2})/, '$1-$2-$3'); 

        var week = ['일', '월', '화', '수', '목', '금', '토'];
        var dayOfWeek = week[new Date(vformat).getDay()];

        return dayOfWeek;
    }    
}
반응형
DateTime.Now.ToString("yyyyMMddHHmmssFFF");

 

반응형
public void SetLogData(string strLog)
{
	try
	{
		string temp;
		string DirPath = Application.StartupPath + "\Log"; //여기 Log 폴더 만들어서 사용하자
		//Log 디렉토리 체크 후 폴더 만들기
		DirectoryInfo di = new DirectoryInfo(DirPath);

		if (di.Exists == false)
		{
			di.Create();
		}

		string FilePath = DirPath + "\\Log_" + DateTime.Today.ToString("yyyyMMdd") + ".log";
		FileInfo fi = new FileInfo(FilePath);

		if (!fi.Exists)
		{
			using (StreamWriter sw = new StreamWriter(FilePath))
			{
				temp = string.Format("[{0}] {1}", DateTime.Now, strLog);
				sw.WriteLine(temp);
				sw.Close();
			}
		}
		else
		{
			using (StreamWriter sw = File.AppendText(FilePath))
			{
				temp = string.Format("[{0}] {1}", DateTime.Now, strLog);
				sw.WriteLine(temp);
				sw.Close();
			}
		}
	}
	catch (Exception ex)
	{
		string strError = ex.Message;
	}
}
//참고 : https://dodo1054.tistory.com/85

 

반응형
new Date().getFullYear() + _pad(new String(new Date().getMonth() + 1), 2) + _pad(new String(new Date().getDate()), 2)

이거 한줄이면 바로 현재날짜 볼 수 있음

YYYYMMDD 입니다.

 

new Date().getFullYear() + "-" + _pad(new String(new Date().getMonth() + 1), 2) + "-" + _pad(new String(new Date().getDate()), 2);

YYYY-MM-DD

 

new Date().getFullYear() + "." + _pad(new String(new Date().getMonth() + 1), 2) + "." + _pad(new String(new Date().getDate()), 2);

YYYY.MM.DD

 

_pad함수

//숫자 width만큼 앞에 0 붙혀주는 함수 EX) widht = 2일떄 1은 01로 찍힘
function _pad(n, width) {
    n = n + '';
    return n.length >= width ? n : new Array(width - n.length + 1).join('0') + n;
}

이상입니다~

반응형
/* 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...

반응형

톱니바퀴를 누릅니다.
누겟 이름과 소스(URL)을 입력합니다.
SELECT BOX에서 방금 설정한 NUGET을 클릭 후 검색을 합니다. 끝

반응형

Oracle.ManagedDataAccess.Client를 사용한 예제 입니다.

using Oracle.ManagedDataAccess.Client;

namespace DB_Data
{
	public class DB_Connection_Test
	{
		DataTable dt = new DataTable();
		DataSet ds = new DataSet();

		public string DB_Test_haha()
		{
			string con_str = "User ID= 디비아이디;Password=디비 비밀번호;pooling=false;Data Source=(DESCRIPTION=";
			con_str += "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=아이피)(PORT=포트번호)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=서비스이름ORCL ETC..)));";

			OracleConnection conn = new OracleConnection(con_str); //DB 커넥션 객체 생성
			conn.Open(); //DB 오픈

			OracleDataAdapter oda = new OracleDataAdapter(sqlstr, conn); //쿼리 보내고 받기
			oda.Fill(dt); //데이터 테이블에 데이터 넣기 (DataSet도 가능)

			conn.Close(); //디비 종료

			return strJsonData;
		}
	}
}

+ Recent posts