2017-05-09 49 views
0

我想在我的ruby腳本中使用shell命令發送電子郵件。 我用命令在Ruby中使用shell命令發送郵件

%x{echo "sometext" | mail -s "Account report #{file_tmp}" -a /home/linux/reports/#{file} #{address[0]}} 

,我得到

發送選項,而不指定主要接收者。用法:mail -eiIUdEFntBDNHRVv〜-T FILE -u用戶-h跳躍-r地址-s主題-a文件-q文件-f文件-A帳戶-b用戶-c用戶-S選項用戶sh: 第2行: [email protected]:未找到命令

爲什麼電子郵件地址被當作第二行命令以及如何解決?

回答

0

嘗試在file變量去除換行:

%x{echo "sometext" | mail -s "Account report #{file_tmp}" -a /home/linux/reports/#{file.strip} #{address[0]}} 
+0

它的工作原理,謝謝!但現在它發送一封電子郵件,其中包含附件內容。直接在命令行中使用此命令將以常規附件的形式發送。爲什麼? – mila002

+0

http://stackoverflow.com/questions/17359/how-do-i-send-a-file-as-an-email-attachment-using-linux-command-line/14213935#14213935你可能需要構造命令有點不同,並使用uuencode。 – ddubs