Indy 2

TIdMessage.GenerateHeader의 제목 처리 버그

Indy를 이용하여 메일 발송 프로그램을 만들어서 사용중이었습니다. 그런데, 특정 메일은 HTML 내용이 제대로 보이지 않고, 태그가 펼쳐져 보이는 것이었습니다. 원인을 분석해보니, SMTP서버로 메일을 보낼 때, TIdMessage에서 메일 헤더를 생성합니다. 그러나 이 부분에서 제목에 한글이 있는 경우 인코딩을 하는데, 제목이 긴 경우 특정 길이(75) 이하로 잘라서 헤더를 생성해주게끔 되어 있습니다. 문제는 헤더를 생성하는 부분에서 제목이 특정 길이(75) 이상인 경우 이미 올바로 헤더를 모두 만들어져 있는데, 그 값을 GenerateHeader에서 처리하는 부분에서 한번 더 불필요하게 처리를 하면서, 헤더 부분이 깨져서 메일 전체가 잘못되는 현상이 발생하게 됩니다. 이를 해결하기 위해서, 델파이7..

ForceDirectoriesOfIdFTP ; 디렉토리 강제 생성하기

델파이로 FTP 프로그래밍을 하다가 보면, 특정 경로를 만들어야할 일이 생깁니다. 그런데 TIdFTP에서 기본으로 제공하는 MakeDir 메소드는 현재 위치에서 바로 아래의 디렉토리만 생성이 가능합니다. SysUtils.ForceDirectories 함수와 같이 경로를 따라가며 없을 경우 강제로 모두 생성해 주는 메소드가 없어서 직접 만들어 봤습니다. 그럼, 유용하게 쓰시길~ {** FTP 서버에 접속된 IdFTP 객체에 지정한 경로의 디렉토리를 강제로 생성합니다. IdFTP에 대한 ForceDirectories 버전 @param AIdFTP FTP 서버에 접속된 IdFTP 객체 @param strMakeDir 생성할 디렉토리 경로 *} procedure ForceDirectoriesOfIdFTP(AId..

728x90