不可或缺的 sendEmail

us_yunleiwang發表於2013-12-05

 還在為Linux下沒有便捷的郵件程式苦惱,還在為複雜的郵件伺服器架設Google N多網頁? 對於小型,便捷的Linux下命令列郵件程式,sendEmail使得這一切變得輕鬆可行。一起來看看吧。

  1. 一、sendEmail介紹  
  2.    SendEmail is a lightweight, command line SMTP email client. If you have the need to send email from a command line, this   
  3. free program is perfect: simple to use and feature rich. It was designed to be used in bash scripts, batch files, Perl   
  4. programs and web sites, but is quite adaptable and will likely meet your requirements. SendEmail is written in Perl and is   
  5. unique in that it requires NO MODULES. It has an intuitive and flexible set of command-line options, making it very easy to   
  6. learn and use.  
  7.     SendEmail is licensed under the GNU GPL, either version 2 of the License or (at your option) any later version.  
  8.     [Supported Platforms: Linux, BSD, OS X, Windows 98, Windows NT, Windows 2000, & Windows XP]   
  9.   
  10.   總的來說sendEmail簡單,輕量級,命令列,可伸縮,跨平臺。  
  11.   
  12. 二、下載與安裝  
  13.   下面的地址是sendEmail的下載及詳細說明  
  14.   
  15.   
  16.   下面是安裝描述,總共四個步驟就搞定。  
  17.   ------------------  
  18.   Installation  
  19.   ------------------  
  20.     
  21.   SendEmail is a perl script/program, and only needs to be copied to a directory  
  22.   in your path to make it accessible.  Most likely the following steps will  
  23.   be sufficient:  
  24.     
  25.   1) Extract the package  
  26.       tar -zxvf sendEmail-v1.XX.tar.gz  
  27.     
  28.   2) Copy the sendEmail script to /usr/local/bin  
  29.       cp -a sendEmail-v1.XX/sendEmail /usr/local/bin  
  30.     
  31.   3) Make sure its executable  
  32.       chmod +x /usr/local/bin/sendEmail  
  33.     
  34.   4) Run it  
  35.       sendEmail  
  36.         or  
  37.       /usr/local/bin/sendEmail  
  38.   
  39. 三、用法      
  40.   直接輸入sendEmail,將出現該工具的用法介紹,如下所示。由於用法也簡單明瞭,因此不一一解釋  
  41.   robin@SZDB:~/dba_scripts/sendEmail-v1.56> ./sendEmail  
  42.     
  43.   sendEmail-1.56 by Brandon Zehm   
  44.     
  45.   Synopsis:  sendEmail -f ADDRESS [options]  
  46.     
  47.     Required:  
  48.       -f ADDRESS                from (sender) email address  
  49.       * At least one recipient required via -t, -cc, or -bcc  
  50.       * Message body required via -m, STDIN, or -o message-file=FILE  
  51.     
  52.     Common:  
  53.       -t ADDRESS [ADDR ...]     to email address(es)  
  54.       -u SUBJECT                message subject  
  55.       -m MESSAGE                message body  
  56.       -s SERVER[:PORT]          smtp mail relay, default is localhost:25  
  57.     
  58.     Optional:  
  59.       -a   FILE [FILE ...]      file attachment(s)  
  60.       -cc  ADDRESS [ADDR ...]   cc  email address(es)  
  61.       -bcc ADDRESS [ADDR ...]   bcc email address(es)  
  62.       -xu  USERNAME             username for SMTP authentication  
  63.       -xp  PASSWORD             password for SMTP authentication  
  64.     
  65.     Paranormal:  
  66.       -b BINDADDR[:PORT]        local host bind address  
  67.       -l LOGFILE                log to the specified file  
  68.       -v                        verbosity, use multiple times for greater effect  
  69.       -q                        be quiet (i.e. no STDOUT output)  
  70.       -o NAME=VALUE             advanced options, for details try: --help misc  
  71.           -o message-content-type=  
  72.           -o message-file=FILE         -o message-format=raw  
  73.           -o message-header=HEADER     -o message-charset=CHARSET  
  74.           -o reply-to=ADDRESS          -o timeout=SECONDS  
  75.           -o username=USERNAME         -o password=PASSWORD  
  76.           -o tls=         -o fqdn=FQDN  
  77.     
  78.     
  79.     Help:  
  80.       --help                    the helpful overview you're reading now  
  81.       --help addressing         explain addressing and related options  
  82.       --help message            explain message body input and related options  
  83.       --help networking         explain -s, -b, etc  
  84.       --help output             explain logging and other output options  
  85.       --help misc               explain -o options, TLS, SMTP auth, and more  
  86.   
  87.   檢視詳細的幫助檔案,如下方式:   
  88.   ./sendEmail --help addressing  
  89.   ./sendEmail --help message  
  90.   
  91. 四、示例  
  92.   #傳送者使用任意的郵箱方式傳送郵件  
  93.   robin@SZDB:~> sendEmail -f robinson@oracle.com \  
  94.   > -t robinson.cheng@trade.com \  
  95.   > -u "Test Mail" \  
  96.   > -m "This is a test mail from Robinson"  
  97.   Dec 18 14:10:23 szdb sendEmail[18494]: Email was sent successfully!  
  98.     
  99.   #傳送者使用一個真實存在的網際網路郵件伺服器來傳送郵件  
  100.   robin@SZDB:~> sendEmail -f rocket010824@163.com \  
  101.   > -t robinson.cheng@trade.com \  
  102.   > -u "Test Mail" \  
  103.   > -s smtp.163.com \  
  104.   > -xu jackson \  
  105.   > -xp temp_000 \  
  106.   > -m "This is test mail from Robinson"  
  107.   Dec 18 14:13:24 szdb sendEmail[18500]: Email was sent successfully!  
  108.     
  109.   傳送給多個郵件接收人  
  110.   robin@SZDB:~> sendEmail -f robinson@oracle.com \                                                                     
  111.   > -t "Robinson cheng " jackson@163.com \  
  112.   > -u "Send email to mutiple people" \  
  113.   > -m "This is a test mail"   
  114.   Dec 18 14:24:57 szdb sendEmail[18537]: Email was sent successfully!  
  115.     
  116.   使用抄送,密送接收人  
  117.   robin@SZDB:~> sendEmail -f robinson@oracle.com \  
  118.   > -t "Robinson cheng " \  
  119.   > -cc jason.wu@trade.com \  
  120.   > -bcc jackson@163.com \  
  121.   > -u "Test mail " \  
  122.   > -m "This is a test mail"  
  123.     
  124.   傳送帶有附件的郵件  
  125.   robin@SZDB:~> sendEmail -f robinson@oracle.com \  
  126.   > -t "Robinson cheng " \  
  127.   > -cc jason.wu@trade.com \  
  128.   > -u "Test mail with multi attached" \  
  129.   > -m "This is a test mail with multi attached" \  
  130.   > -a /users/robin/addmrpt_1_11584_11649.txt "/users/robin/Temp log"  
  131.   Dec 18 14:43:35 szdb sendEmail[18664]: Email was sent successfully!  
  132.     
  133.   #使用檔案內容作為郵件的body  
  134.   robin@SZDB:~> sendEmail -f robinson@oracle.com \  
  135.   > -t "Robinson cheng " \  
  136.   > -u "Test mail and the body from file contents" \  
  137.   > -o message-file=/users/robin/addmrpt_1_11584_11649.txt  
  138.   Dec 18 14:50:39 szdb sendEmail[18715]: Email was sent successfully!  
  139.     
  140.   robin@SZDB:~> cat addmrpt_1_11584_11649.txt | sendEmail -f robinson@oracle.com \  
  141.   > -t "Robinson cheng " \  
  142.   > -u "Test mail and the body from file contents"  
  143.   Reading message body from STDIN because the '-m' option was not used.  
  144.   If you are manually typing in a message:  
  145.     - First line must be received within 60 seconds.  
  146.     - End manual input with a CTRL-D on its own line.  
  147.     
  148.   Dec 18 14:47:31 szdb sendEmail[18709]: Message input complete.  
  149.   Dec 18 14:47:31 szdb sendEmail[18709]: Email was sent successfully!  
  150.     
  151.   #傳送郵件時讀取html檔案內容作為body  
  152.   robin@SZDB:~> sendEmail -f robinson@oracle.com \  
  153.   > -t "Robinson cheng " \  
  154.   > -u "HTML test mail" \  
  155.   > -o message-file=/users/robin/CNMMBO_awrrpt_1_20121218.html  
  156.   Dec 18 14:54:07 szdb sendEmail[18721]: Email was sent successfully!  
  157.     
  158.   #Author :Robinson  
  159.   #Blog   : http://blog.csdn.net/robinson_0612  
  160.    
  161.   #傳送html郵件   
  162.   robin@SZDB:~> sendEmail -f robinson@oracle.com \  
  163.   > -t robinson.cheng@trade.com \  
  164.   > -u "This is an html test mail" \  
  165.   > -o message-content-type=html \  
  166.   > -m "The body is html format"  
  167.   Dec 18 15:19:36 szdb sendEmail[18883]: Email was sent successfully!   

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23490154/viewspace-1062428/,如需轉載,請註明出處,否則將追究法律責任。

相關文章