2016-02-09 67 views
0

我嘗試了很多方法(在這裏找到),但沒有任何作用。問題是我在這臺服務器上安裝插件的限制,我只有一個帶postfix的sendmail來處理郵件。Content-Type聯機命令在Centos 6.5上不起作用

返回的錯誤是:

sudo mail -a "Content-Type: text/html" -s "test mail" [email protected] < TEST.html 
---> 
Content-Type: text/html: No such file or directory 

我試圖cat TEST.html | mail -a "Content-Type: text/html" -s "test mail" [email protected]但它不工作過。

Ubuntu 14.04上使用postfix的相同命令,效果很好!

我發現到人的幫助差異,到Ubuntu的人OS「郵件」看來,-a = HEADER,但進入CentOS的-a = "file",我不能找到任何標題參考...

你能幫助我,請?

+0

我使用傳家寶 - mailx的版本我可以看到 –

+1

centos 6.5上的-a選項用於附加文件。所以它看起來像這個版本的mailx不支持頭。可能重複的http://stackoverflow.com/questions/24010230/mailx-send-html-message – gnac

+0

我紅,但那裏的解決方案不適合我。雖然我嘗試了很多東西,我要求安裝od bsd-mailx(我的公司工作方式,我沒有權限安裝,所以爲了賺取時間,我必須嘗試一切之前) –

回答

1

如果您想發送電子郵件,您可以輕鬆使用較低級別的工具/程序。
由Exim/Postfix /提供的Sendmail或sendmail看起來很相似,在基本級別上更具可移植性。

#!/bin/sh 
SUBJECT='test mail' 
RECIPIENT='[email protected]' 
FILE='TEST.html' 

cat - $FILE <<END | /usr/sbin/sendmail -i $RECIPIENT 
MIME-Version: 1.0 
Content-Type: text/html; charset=utf-8 
Content-Transfer-Encoding: 8bit 
Subject: $SUBJECT 
To: $RECIPIENT 

END 

警告1: sendmail的斷裂長行(990個字節)。您可以使用例如tidy重新格式化HTML文件 WARNING2:避免多報頭(例如:$主題),它需要特殊的格式
WARNING3:在Subject:To:非ASCII字符需要額外的黑客

+0

我試過,但甚至sendmail在日誌中寫入郵件已成功發送......我沒有收到任何郵件...... –

+1

1)將'-v'添加到sendmail的命令行選項,以檢查郵件是否傳遞到127.0的本地sendmail守護程序.0.1:25 2)檢查sendmail守護進程日誌文件和sendmail隊列內容(使用'mailq') – AnFi

+0

完成後,我可以在日誌中看到的是sendmail自動添加一行Content-Type = plain/text after mine: '返回路徑: Received:by localdomain(Postfix,來自userid 10015) id 9A838212; 2016年2月11日(星期四)14:43:14 +0100(CET) 日期:2016年2月11日(星期四)14:43:14 +0100 收件人:[email protected] Subject:Test Content-Type:text/html User-Agent:傳家寶郵件x 12.4 7/29/08 MIME-Version:1.0 Content-Type:text/plain; charset = us-ascii Content-Transfer-Encoding:7bit Message-Id: