소개
UnimailClient는 ACCloud가 제공하는 Unimail 프로젝트의 첫 번째 실행 가능한 클라이언트 프로그램으로, 빠르고 쉽게 사용할 수 있도록 설계된 이메일 발송용 명령줄 도구입니다. 내부적으로 unimail-go-sdk를 통해 이메일을 전송하며, API 키 기반 인증으로 텍스트와 HTML 메일을 모두 보낼 수 있습니다. 본 저장소는 BSD-3-Clause 라이선스로 공개되어 있습니다.
상세정보
API 키 인증 방식
기본적으로 UNIMAIL_KEY 환경 변수에서 API 키를 읽어 인증하며, 실행 시 -k 또는 --key 플래그로 키를 직접 지정해 재정의할 수도 있습니다.
다양한 수신자 및 참조 지원
여러 수신자를 -r/--receiver 플래그를 반복해 지정할 수 있고, 참조(CC)는 -c/--cc, 숨은 참조(BCC)는 -b/--bcc 플래그로 설정합니다.
텍스트 및 HTML 메일 발송
일반 텍스트 본문은 -t/--txt로, HTML 본문은 -H/--html로 지정해 같은 메일에 두 형식을 함께 보낼 수 있습니다. 발신자 이름은 -f/--from, 제목은 -s/--subject, 라우팅은 --route 플래그로 설정합니다.
첨부 파일 지원
--file 플래그에 이름;경로 형식으로 한 번에 하나의 첨부 파일을 지정할 수 있으며, 여러 첨부 파일을 보낼 때는 플래그를 필요한 만큼 반복해 사용합니다.
버전 확인 및 업데이트 명령
version 서브 명령과 -v, -V, --version 플래그로 현재 버전을 확인할 수 있습니다. update는 새 릴리스 존재 여부만 확인하고, upgrade는 현재 운영 체제와 CPU 아키텍처에 맞는 자산을 내려받아 실행 파일을 교체합니다.
릴리스에서 내려받기
프로젝트에서 릴리스가 게시되면 사용 중인 플랫폼용 압축 파일을 내려받아 원하는 위치에 풀어 사용합니다.
로컬에서 직접 빌드
Go 환경에서 저장소를 clone한 뒤 다음 명령으로 실행 파일을 만들 수 있습니다.
go build -o unimail-client .
Ubuntu에 설치
Launchpad PPA에 프로젝트가 등록된 경우, APT 저장소를 추가한 뒤 패키지를 설치합니다.
sudo add-apt-repository ppa:<launchpad_user>/<ppa_name>sudo apt updatesudo apt install unimail-client
Windows에 설치
Winget 패키지 관리자를 사용해 다음 명령으로 설치할 수 있습니다.
winget install ACCloud.UnimailClient
도움말 확인
사용 가능한 플래그와 명령 목록은 다음 두 명령 중 하나로 확인할 수 있습니다.
unimail-client -hunimail-client --help
환경 변수 설정
API 키를 미리 환경 변수에 저장해 두면 매번 플래그로 지정하지 않아도 됩니다. 셸 환경에서는 export UNIMAIL_KEY=your_key, Windows PowerShell에서는 $env:UNIMAIL_KEY = "your_key" 형태로 설정합니다. 필요할 때 -k 또는 --key 플래그로 다른 키를 직접 지정할 수도 있습니다.
이메일 발송 명령 구성
이메일 한 통을 보낼 때는 라우팅, 발신자, 수신자, 제목, 본문 순서로 플래그를 조합합니다. 라우팅은 --route, 발신자는 -f 또는 --from, 수신자는 -r을 반복해 지정하며, 참조와 숨은 참조도 같은 방식으로 추가합니다. 본문이 HTML이라면 -H 또는 --html 플래그에 HTML 문자열을 전달합니다.
일반 텍스트 메일 보내기
수신자, 제목, 본문만 지정해 간단한 텍스트 메일을 보낼 수 있습니다.
unimail-client -r [email protected] -s "Test" -t "Hello"
HTML 메일 보내기
HTML 본문을 전달해 서식이 포함된 메일을 전송할 수 있습니다.
unimail-client --receiver [email protected] --subject "Test" --html "<h1>Hello</h1>"
첨부 파일이 포함된 메일 보내기
--file 플래그에 이름;경로 형식으로 파일을 지정해 첨부할 수 있습니다.
unimail-client -r [email protected] -s "Report" -t "Please check the attachment" --file "report.pdf;./report.pdf"
Q. UnimailClient의 라이선스는 무엇인가요?
BSD-3-Clause 라이선스로 배포되며, 저장소의 LICENSE 파일에서 전문을 확인할 수 있습니다.
Q. API 키는 어떻게 설정하나요?
기본적으로 UNIMAIL_KEY 환경 변수에 키를 저장하면 됩니다. 셸에서는 export UNIMAIL_KEY=your_key, Windows PowerShell에서는 $env:UNIMAIL_KEY = "your_key"로 설정하며, 실행 시 -k 또는 --key 플래그로 직접 지정할 수도 있습니다.
Q. 패키지 관리자로 설치한 경우 업그레이드 명령이 동작하나요?
Winget, APT/PPA, Homebrew 등 패키지 관리자로 설치한 경우 upgrade 명령은 비활성화됩니다. 이 경우 동일한 패키지 관리자를 사용해 업데이트해야 하며, update 명령으로 릴리스 확인은 계속 사용할 수 있습니다.
시스템 요구사항
Windows 또는 Ubuntu 등 명령줄 도구를 실행할 수 있는 운영 체제가 필요하며, x64 아키텍처 환경을 권장합니다. 이메일을 전송하려면 unimail-go-sdk에서 발급된 API 키가 필요하며, 기본적으로 UNIMAIL_KEY 환경 변수에 설정해야 합니다. 패키지 관리자(Winget, APT/PPA, Homebrew)로 설치한 경우 자동 업그레이드(upgrade) 명령은 비활성화됩니다.


