일부 프로세스에서 생성된 텍스트 파일이 있습니다. 현재 파일에는 5개의 열과 3개의 레코드가 있습니다. 나중에 기록 수가 늘어날 수 있습니다.
이러한 행과 열을 테이블 형식으로 변환하고 메일을 통해 보내는 가장 쉬운 방법을 원합니다.
아래 게시물과 같은 몇 가지 게시물을 확인했지만 그 중 정확한 요구 사항을 충족하는 게시물은 없습니다.
이메일 HTML 표 본문 및 첨부 파일 텍스트 파일 보내기
첨부 파일과 표 형식의 이메일 본문이 포함된 이메일 보내기
멀티파트 이메일 구현에 대한 다양한 게시물을 보았지만 잘 이해가 되지 않습니다. 더 쉬운 방법이 있습니까, 아니면 다중 부분 접근 방식이 유일한 방법입니까?
File :
Col1,col2,col3,col4,col5
Abc,0,5000,4500,True
bcd,1,9000,3000,False
DGF,3,4000,2000,True
이 파일을 메일로 양식으로 보내고 싶습니다.
답변1
소스가 다음을 포함하는 파일인 경우
Col1,col2,col3,col4,col5
Abc,0,5000,4500,True
bcd,1,9000,3000,False
DGF,3,4000,2000,True
아래 스크립트는 테이블이 포함된 HTML 파일을 생성합니다.
#!/bin/bash
IFS=$','
first=1
echo '<table>'
while read -r cola colb colc cold colf; do
[[ $first == 1 ]] && element=th || element=td
first=0
echo "<tr><$element>$cola</$element><$element>$colb</$element><$element>$colc</$element><$element>$cold</$element><$element>$colf</$element></tr>"
done < $1
echo '</table>'
실행하려면.쉿파일을 찾아서 스크립트를 붙여넣으세요. 실행 모드 설정
chmod +x your_script.sh
그런 다음 스크립트를 실행하여 출력을 파일(예: 출력.html)
./your_script.sh your_source_file > output.html
완료되면 출력은 다음과 같아야 합니다.
이메일을 보내려면 다음 명령을 사용할 수 있습니다.
sendemail -s stmp:port -xu user -xp pass -f account_from -t destination_account -u subject -m "your_html_message" -o message-header="From: your name <account_from>" -o message-content-type=html -o message-charset=UTF-8