2012-12-13 82 views
3

我試圖使用Cygwin從命令行發送電子郵件。這是我在我把:在Cygwin中使用「email」命令

email -f [email protected] -s "This is a test" -b [email protected] 

我收到此錯誤信息:

/bin/sh: /usr/lib/sendmail: No such file or directory 

我創建了一個文件夾/ usr/lib中所謂的 「sendmail的」,現在我得到這樣的:

/bin/sh: /usr/lib/sendmail: is a directory 

有人請給我一個關於如何從Cygwin發送電子郵件的分步驟?喜歡如何設置和一切?我到處尋找,我準備好將我的頭髮撕掉。

編輯:謝謝你的迴應傢伙。這是我最終如何運作的。

bash.exe -c "echo -e 'To: [email protected]\nSubject: mySQL Upload\nSQL files from machines uploaded to log table successfully.' | sendmail -f [email protected] [email protected]" 

即使Cygwin的是在我的Windows路徑,就可能認不出來了,所以我不得不bash.exe直接運行,並說:「做這個命令的Linux命令」。回聲是構建電子郵件本身的內容。 \ n字符將它分隔爲「收件人」,「主題」和正文。

+0

你試圖連接什麼類型的電子郵件服務器?連接到交換服務器是相當困難的,從我見過的。 – nullrevolution

+0

是的,它是一個Microsoft Exchange服務器。 – snowfi6916

+0

您是否在cygwin中安裝了郵件包? – krisp

回答

1

好吧所以我第一次嘗試時就不夠清楚了...我想這是我的錯,我會盡量讓這個更清楚。

在郵件配置中,它會詢問sendmail二進制文件。聽起來應該是這樣的:

Please enter the sendmail command line [/usr/sbin/sendmail -t -i]:

這基本上是問在哪裏安裝sendmail程序,並應我通過什麼參數,它來發送郵件。您的sendmail二進制文件未安裝,或未安裝在您指定的位置。

要查看是否有sendmail的安裝嘗試

%sendmail; 

如果這樣的作品,發現二進制文件的路徑嘗試

%which sendmail; 

如果不工作,沒有安裝選擇sendmail,或sendmail的位置需要附加到env路徑變量。關於如何設置東西沒有正確的答案,但是使其工作的最低要求是在當前機器上安裝sendmail,並配置它並將正確的絕對路徑傳遞到郵件配置中的郵件程序。

+0

我已經運行了email-config。根本沒有幫助。我還閱讀了man文件和自述文件,但我沒有發現任何有關此問題的信息。你能否給我提供比「自己找到」更好的答案?因爲我已經花了數小時的時間。 – snowfi6916

+0

好的,我試着用我的答案更加清楚,我認爲當我重讀它時,我的第一個錯誤很有誤導性。 – gbtimmon

+0

我已經根據你的答案提出了我的答案。我認爲更多的解釋是爲了。 – reinierpost

6

顯然,email是一種程序,可讓您提交依賴其他程序實際發送郵件的電子郵件(Mail Submission Agent)(Mail Transfer Agent)。

我上週在Cygwin安裝中啓用了此功能。 我不使用emailmutt,備選之一Cygwin的機會(參見其package list) 我用mutt不僅要提交郵件被髮送,而且要讀它;它是一個Mail User Agent(看到一些screenshots

email,mutt依靠郵件傳輸代理髮送郵件,所以我不得不安裝一個。 在Linux上,流行的選擇是sendmailpostfix;但是它們的功能遠遠超過您的需求,而Cygwin不會將它們作爲軟件包提供。它確實提供eximssmtp

我安裝了ssmtp軟件包並運行了ssmtp-config實用程序。你必須在這裏作出一些決定。您必須知道您可以使用哪個SMTP服務器,以及是否需要任何特殊配置與其通信。

順便說一句,ssmtp確實安裝了一個名爲sendmail的可執行文件,它不是原始的sendmail,而是出於您所需的目的而運行。

+0

在Cygwin上安裝cron包導致它創建'/ usr/sbin/sendmail'作爲符號鏈接到'/ usr/bin/cronlog'。打開它表明,它只是一個shell腳本,顯然可以將發送到sendmail的電子郵件保存到cron的日誌中。我想這可能是一種備份,以防Cygwin環境中沒有安裝MTA,因此發送的電子郵件只會存儲在Cron的日誌中。無論如何,一旦你安裝了exim,你可以手動替換符號鏈接(或在'/ usr/bin'中創建一個覆蓋舊'/ usr/sbin /'符號鏈接的新符號鏈接)。 – CMCDragonkai

+0

由於Mutt 1.5,你不需要'ssmtp':https://wiki.debian.org/Mutt#Sending_E-Mail_with_Mutt – Timo

+0

謝謝,這很有趣,我會檢查它,修改或刪除我的答案,當我有時間。 – reinierpost