Hostwinds 튜토리얼
에 대한 검색 결과:
목차
SMTP-CLI가 무엇인지 더 잘 이해하기 위해 그렇지 않은 것에 대해 이야기 해 봅시다.SMTP-CLI는 전자 메일 서버 또는 릴레이 에이전트가 아닙니다.또한 높은 양의 우편물을 보낼 방법이 아닙니다.텍스트, HTML, 파일 및 그림을 명령 줄과 스크립트에서 보낼 수있는 전자 메일 클라이언트입니다.
다른 전자 메일 서버를 만드는 대신 SMTP-CLI를 사용하여 상태 또는 상태를 모니터링하기 위해 원격 전자 메일 계정을 통해 VPS에서 업데이트를 전송할 수 있습니다. 로그를 서버 보안 강화의 일부로 전달하기 위해 Cron 작업을 설정할 수도 있습니다. 오류가 발견되거나 제한이 접근하지 않으면 서버가 더 많거나 덜 무인을 실행할 수 있습니다.
Gitb에서 Git을 사용하여 GitHub에서 SMTP-CLI 스크립트를 잡을 것입니다. 아직 설치하지 않은 경우 다음과 같이 설치할 수 있습니다.
# yum install -y git
# apt-get install -y git
# git clone https://github.com/mludvig/smtp-cli.git
SMTP-CLI 스크립트 (실행 부분)는 SMTP-CLI라는 디렉토리 안에 있으며 SMTP-CLI라는 파일입니다 (명령의 -L 플래그가 파일 속성을보고 실행 파일).
# ls -l smtp-cli
"x"가 대신 "-"라면이 명령을 실행하여 파일을 실행 파일로 만듭니다.
# chmod +x smtp-cli/smtp-cli
이제 실행되는지 테스트 할 수 있습니다.
# smtp-cli/smtp-cli
다음과 같은 오류가 발생합니다.
오류가있는 것은 이상하지만 스크립트가 다운로드되고 실행 가능한지 테스트하는 것뿐이므로 지금 당장 필요한 모든 것입니다.
이제 전역 PATH (전체 경로없이 명령 줄에서 작업을 실행할 때 VPS가 확인하는 위치)를 확인합니다.
# echo $PATH
그리고 smtp-cli를 기본 PATH 내의 사용자 sbin 디렉터리에 복사합니다.
# cp smtp-cli/smpt-cli /usr/local/sbin
ls -l /usr/local/sbin/smtp*
이제 파일의 전체 경로를 포함하여 걱정하지 않고 VPS의 모든 디렉토리에서 SMTP-CLI를 실행할 수 있습니다.
암호화되지 않은 암호를 스크립트에 배치하는 것은 어렵고 암호를 관리하는 방법이 아니므로 암호 정보가 포함 된 파일을 만듭니다. 이를 통해 우리는 암호를 쉽게 업데이트하고 악의적 인 배우가 정보를 찾아야 할 것입니다.
루트 사용자로 실행 중이고 루트 cronjob을 만드고 있기 때문에이 파일은 / root / 디렉토리에 있습니다. CRON 작업은 시스템 관리자가 부여한 권한에 따라 사용자가 CRONTAB에있을 수 있습니다.이 경우 / home / username에 저장할 수 있습니다.
# touch /root/.passwd
echo 'SomeRandomPassword' > /root/.passwd
"somerandompassword"는 원격 전자 메일 계정의 실제 전자 메일 암호의 일반 텍스트 여야합니다.
이제 스크립트의 일부로 또는 명령 줄에서 이메일을 보내는 좋은 부분에 도달했습니다. vnstat 가이드의 일부로 만든 파일을 전송하여 테스트하겠습니다.
참고로 아래 $ (some command) 부분은 명령을 인라인으로 실행하고 해당 명령의 출력을 인수의 입력으로 사용할 수 있도록합니다.
# smtp-cli --verbose --server mail.emaildomain.TLD:587 --enable-auth --user smtp-cli_guide@emaildomain.TLD --pass $(cat /root/.passwd) --from smtp-cli_guide@emaildomain.TLD --to test2@emaildomain.TLD --subject VPS-stats --attach /var/www/html/vps_bandwidth_stats.png
이제 작동한다는 것을 알았으므로 bash 스크립트 또는 cron 작업에 명령을 넣을 수 있습니다.
#!/etc/bash
smtp-cli --verbose --server mailservername.emaildomain.TLD:587 --enable-auth --user login-user@emaildomain.TLD --pass $(cat /root/.passwd) --from email_orinator@emaildomain.TLD --to email_destination@emaildomain.TLD --subject subject-line --attach /full/path/filename.tosend >> /path/to/logfile.log
--help
--body-plain=<text|filename>
--body-html=<text|filename>
이 예제는 스크립트 또는 cronjob을 설정하는 기능을 제공했지만이 간단한 메일러는 전역 변수 또는 다른 모니터링 스크립트에 대한 출력을 사용하여 메일을 보낼 수도 있습니다. 이러한 모든 도구는 정기적 인 간격 또는 트리거 이벤트를 기반으로 간단한 경고 또는 복잡한 진단 데이터를 이메일로 보낼 수 있습니다.
스크립트를 사용할 때 몇 가지 다른 문제가 발생할 수 있습니다. 첫 번째 문제는 메일 서버가 어떻게 인증되는지입니다. 전체 이메일 주소 또는 사용자 이름 만 입력합니까? 이것이 당신이 - 유저 인수 후에 필요한 것입니다. 이 예제에서는 전체 이메일 주소를 -User로 입력 할 수 있습니다. 일반적으로 서버에 사용하는 모든 자격 증명을 사용하십시오.
두 번째 문제 영역은 –from 필드입니다. 로그인중인 이메일 계정인지 확인하십시오. 관리하지 않는 계정에서는 메일을 보낼 수 없습니다.
세 번째는 -Server 필드의 서버 이름과 포트 선택입니다. 이 이름은 나가는 이메일 서버의 완전한 도메인 이름이어야합니다. SMTP 용 표준 포트는 25, 587, 465입니다.
마지막으로, -to 필드는 유효한 이메일 주소 여야하거나 결코 대상에 도달하지 않아야합니다.
작성자 Paul Schene / 칠월 10, 2020