linux mail傳送中文正文變成附件的處理

2021-08-04 05:38:19 字數 1885 閱讀 2904

cat sendmail.sh 

#!/bin/bash

dutyfile=duty.txt

subject="每週輪值郵件"

[email protected]

[email protected]

cat $dutyfile | /bin/mail -s "$subject" -r "$frommail" "$tomail"

echo "execute time : "`date` >> log2

手動輸入命令接收郵件內容卻顯示正常,crontab 執行正文內容就放到附件了。

網上查了查,兩個原因(1)格式問題,也就是dutu.txt檔案是不是window下的結束符,如果是需要修改

(2)bash執行時系統編碼環境不通導致。檢視系統編碼環境

# locale  

lang=en_us.utf-8

lc_ctype="en_us.utf-8"

lc_numeric="en_us.utf-8"

lc_time="en_us.utf-8"

lc_collate="en_us.utf-8"

lc_monetary="en_us.utf-8"

lc_messages="en_us.utf-8"

lc_*****="en_us.utf-8"

lc_name="en_us.utf-8"

lc_address="en_us.utf-8"

lc_telephone="en_us.utf-8"

lc_measurement="en_us.utf-8"

lc_identification="en_us.utf-8"

把傳送命令更改為

#!/bin/bash  

export lang=en_us.utf-8

。。...  

則是接收郵件就正常顯示為中文了。

cat sendmail.sh 

#!/bin/bash

dutyfile=duty.txt

subject="每週輪值郵件"

[email protected]

[email protected]

cat $dutyfile | /bin/mail -s "$subject" -r "$frommail" "$tomail"

echo "execute time : "`date` >> log2

手動輸入命令接收郵件內容卻顯示正常,crontab 執行正文內容就放到附件了。

網上查了查,兩個原因(1)格式問題,也就是dutu.txt檔案是不是window下的結束符,如果是需要修改

(2)bash執行時系統編碼環境不通導致。檢視系統編碼環境

# locale  

lang=en_us.utf-8

lc_ctype="en_us.utf-8"

lc_numeric="en_us.utf-8"

lc_time="en_us.utf-8"

lc_collate="en_us.utf-8"

lc_monetary="en_us.utf-8"

lc_messages="en_us.utf-8"

lc_*****="en_us.utf-8"

lc_name="en_us.utf-8"

lc_address="en_us.utf-8"

lc_telephone="en_us.utf-8"

lc_measurement="en_us.utf-8"

lc_identification="en_us.utf-8"

把傳送命令更改為

#!/bin/bash  

export lang=en_us.utf-8

。。...  

則是接收郵件就正常顯示為中文了。

Linux mail命令 傳送和接收電子郵件

mail 是 linux 的郵件客戶端命令,可以利用這個命令給其他使用者傳送郵件。mail 命令的基本資訊如下。例 1 傳送郵件。如果我們想要給其他使用者傳送郵件,則可以執行如下命令 root localhost mail userl subject hello 郵件標題 nice to meet ...

JQuery傳送中文異常

使用jquery傳送請求到後台,通過getjson方法,在傳送中文的時候,出現發不出去的情況,但英文本母或者資料都可以,通過在頁面上使用 encodeuri encodeuri message val 這個功能將中文進行處理,這裡的message是乙個頁面上的id,然後在後台將這個變數的資料進行獲取...

GPRS傳送中文簡訊的問題

linux下,板子通過串列埠連線傳送中文簡訊,關於串列埠設定,及傳送英文簡訊很簡單就不說了,先說說如何做,及遇到的問題。linux下,在vim 一定在vim中儲存中文,這個問題下面再提 儲存中文內容,通過iconv函式從當然語言編碼轉為gprs的ucs2的編碼。int encode char mes...