sendEmail命令行发邮件工具

SendEmail 是一个轻量级的命令行的 SMTP 电子邮件客户端。用perl开发,简单易用,功能丰富。
下载地址:http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
安装使用如下:

# yum install perl-Net-SSLeay perl-IO-Socket-SSL
1) Extract the package
    tar -zxvf sendEmail-v1.56.tar.gz

2) Copy the sendEmail script to /usr/local/bin 
    cp -a sendEmail-v1.56/sendEmail /usr/local/bin

3) Make sure its executable
    chmod +x /usr/local/bin/sendEmail

4) Run it
    sendEmail
      or
    /usr/local/bin/sendEmail
[root@monitor opt]# ll /usr/local/bin/sendEmail 
-rwxr-xr-x 1 root root 80213 Jun 17  2011 /usr/local/bin/sendEmail
[root@monitor opt]# sendEmail 

sendEmail-1.56 by Brandon Zehm <caspian @dotconf.net>

Synopsis:  sendEmail -f ADDRESS [options]

  Required:
    -f ADDRESS                from (sender) email address
    * At least one recipient required via -t, -cc, or -bcc
    * Message body required via -m, STDIN, or -o message-file=FILE

  Common:
    -t ADDRESS [ADDR ...]     to email address(es)
    -u SUBJECT                message subject
    -m MESSAGE                message body
    -s SERVER[:PORT]          smtp mail relay, default is localhost:25

  Optional:
    -a   FILE [FILE ...]      file attachment(s)
    -cc  ADDRESS [ADDR ...]   cc  email address(es)
    -bcc ADDRESS [ADDR ...]   bcc email address(es)
    -xu  USERNAME             username for SMTP authentication
    -xp  PASSWORD             password for SMTP authentication

  Paranormal:
    -b BINDADDR[:PORT]        local host bind address
    -l LOGFILE                log to the specified file
    -v                        verbosity, use multiple times for greater effect
    -q                        be quiet (i.e. no STDOUT output)
    -o NAME=VALUE             advanced options, for details try: --help misc
        -o message-content-type=<auto |text|html>
        -o message-file=FILE         -o message-format=raw
        -o message-header=HEADER     -o message-charset=CHARSET
        -o reply-to=ADDRESS          -o timeout=SECONDS
        -o username=USERNAME         -o password=PASSWORD
        -o tls=</auto><auto |yes|no>         -o fqdn=FQDN


  Help:
    --help                    the helpful overview you're reading now
    --help addressing         explain addressing and related options
    --help message            explain message body input and related options
    --help networking         explain -s, -b, etc
    --help output             explain logging and other output options
    --help misc               explain -o options, TLS, SMTP auth, and more

---------------
Examples
---------------

Simple Email:
  sendEmail -f me@gmail.com        \
            -t friend@yahoo.com    \
            -s smtp.gmail.com:587  \
            -xu me@gmail.com       \
            -xp MY-PASSWORD        \
            -u "Test email"        \
            -m "Hi buddy, this is a test email."

Sending to mutiple people:
  sendEmail -f myaddress@isp.net \
            -t "Scott Thomas <scott @isp.net>" jason@isp.net renee@isp.net \
            -s relay.isp.net     \
            -u "Test email"      \
            -m "Hi guys, this is a test email."

Sending to multiple people using cc and bcc recipients:
(notice the different way I specified multiple To recipients, you can do this for cc and bcc as well)
  sendEmail -f myaddress@isp.net \
            -t scott@isp.net;jason@isp.net;renee@isp.net \
            -cc jennifer@isp.net paul@isp.net jeremiah@isp.net \
            -bcc troy@isp.net miranda@isp.net jay@isp.net \
            -s relay.isp.net \
            -u "Test email with cc and bcc recipients" \
            -m "Hi guys, this is a test email."


Sending to multiple people with multiple attachments:
  sendEmail -f myaddress@isp.net \
            -t jason@isp.net \
            -cc jennifer@isp.net paul@isp.net jeremiah@isp.net \
            -s relay.isp.net \
            -u "Test email with cc and bcc recipients" \
            -m "Hi guys, this is a test email." \
            -a /mnt/storage/document.sxw "/root/My Documents/Work Schedule.kwd"


Sending an email with the contents of a file as the message body:
  cat /tmp/file.txt | sendEmail -f myaddress@isp.net \
                                -t jason@isp.net \
                                -s relay.isp.net \
                                -u "Test email with contents of file"


Sending an email with the contents of a file as the message body (method 2):
  sendEmail -f myaddress@isp.net \
            -t jason@isp.net \
            -s relay.isp.net \
            -o message-file=/tmp/file.txt \
            -u "Test email with contents of file"


Sending an html email:  (make sure your html file has <html> at the beginning)
  cat /tmp/file.html | sendEmail -f myaddress@isp.net \
                                 -t jason@isp.net \
                                 -s relay.isp.net \
                                 -u "Test email with html content"

3 Replies to “sendEmail命令行发邮件工具”

发表评论

电子邮件地址不会被公开。 必填项已用*标注