Linux最简单发送邮件的方法2010-08-27 14:16一般使用本机的mail命令, 这就需要开启本机的smtp服务. 假如网络里面有一个邮件服务器(一般公司都有的), 则可以直接使用这台现有的邮件服务器, 不用开启本机的smtp服务, 只需要使用第三方软件sendEmail. 其官方地址:
首先要在邮件服务器上新建一个账户用来做发邮件的账户, 可以利用一现有的, 假如为dba@linuxidc.com, SMTP邮件服务器地址为mail.linuxidc.com, SMTP验证的用户名密码(如果该邮件服务不需要SMTP验证则无需本用户名密码)为god/iamgod
1. 安装sendMail
# cd /u01/software/nagios
# wget
# tar -zxvf sendEmail-v1.56.tar.gz && cd sendEmail-v1.56
# cp sendEmail /usr/local/bin
# chmod 0755 /usr/local/bin/sendEmail
2. 确保可访问域名
# vi /etc/resolv.conf (使用Google的公共DNS服务, 其它也行)
nameserver 8.8.8.8
nameserver 8.8.4.4
# ping -c 3 mail.linuxidc.com (确认可访问smtp服务器域名)
PING mail.linuxidc.com (222.232.145.18) 56(84) bytes of data.
64 bytes from mail.linuxidc.com (222.232.145.18): icmp_seq=0 ttl=63 time=10.0 ms
64 bytes from mail.linuxidc.com (222.232.145.18): icmp_seq=1 ttl=63 time=0.749 ms
64 bytes from mail.linuxidc.com (222.232.145.18): icmp_seq=2 ttl=63 time=8.35 ms
--- mail.linuxidc.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.749/6.388/10.064/4.049 ms, pipe 2
3. 发送邮件测试
# sendEmail -h (查看sendMail帮助)
# sendEmail -f dba@linuxidc.com -t god@linuxidc.com -s mail.linuxidc.com -u "nagios测试" -m "nagios test 测试"
各参数含义如下:
-f 表示发送者的邮箱, 可随意设置
-t 表示接收者的邮箱
-s 表示SMTP服务器的域名或者IP
-u 表示邮件的主题
-m 表示邮件的内容
-xu 表示SMTP验证的用户名, 如果SMTP服务器需要验证的话就加上该参数, 一般发给外网用户则需要
-xp 表示SMTP验证的密码, 如果SMTP服务器需要验证的话就加上该参数, 一般发给外网用户则需要
-a FILE [FILE ...] file attachment(s)
-cc ADDRESS [ADDR ...] cc email address(es)
-bcc ADDRESS [ADDR ...] bcc email address(es)
4. 发送邮件高级用法
如果不带-m参数的话,就会提示你自行输入, 输入完成后使用CTRL-D来结束. 如果还要发送给外网邮件用户, 则还需设置SMTP验证:
# sendEmail -f dba@linuxidc.com -t god@linuxidc.com -bcc god@gmail.com -s mail.linuxidc.com -u "nagios测试" -m "nagios test 测试" -xu god -xp "iamgod"
也可以将一个文件的内容作为邮件的正文发出:
# sendEmail -f dba@linuxidc.com -t god@linuxidc.com -s mail.linuxidc.com -u "nagios测试" -o message-file=/var/log/messages
或者将一个文件的内容作为附件发出:
# sendEmail -f dba@linuxidc.com -t god@linuxidc.com -s mail.linuxidc.com -u "nagios测试" -m "pls see the attachement" -a /var/log/messages
--End--