linux mail 使用外部邮箱地址发邮件

centos 6
1.系统yum安装的mailx会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置麻烦,而且会带来不必要的资源占用。通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的:

修改/etc/nail.rc (/etc/mail.rc) 注:新版本的nail.rc,老版本的mail.rc,此处编辑mail.rc
set from=fromUser@domain.com smtp=smtp.domain.com
set smtp-auth-user=username smtp-auth-password=passwordset smtp-auth=login

说明:
from是发送的邮件地址
smtp是发生的外部smtp服务器的地址
smtp-auth-user是外部smtp服务器认证的用户名
smtp-auth-password是外部smtp服务器认证的用户密码
smtp-auth是邮件认证的方式

2.配置成功后,就可以使用了
mail -s "test" user@163.com <content.txt 其中-s后面的是邮件标题,user@sohu.com是收件人地址,content.txt里面是邮件正文
echo "test mail" | mail -s "test" user@163.com

3.检查所传送的电子邮件是否送出,或滞留在邮件服务器中:/usr/lib/sendmail -bp;若屏幕显示为“Mail queue is empty” 的信息,表示mail 已送出;若为其他错误信息,表示电子邮件因故尚未送出。

centos 5
CentOS5自带的mailx是8.1版本的,不支持配置外部公网邮箱,可升级到最新版本12.4。

1.官方yum没有12.4的版本,可以编译安装
cd /usr/local
wget http://sourceforge.net/projects/heirloom/files/latest/download?source=files
tar jxvf mailx-12.4.tar.bz2
cd mailx-12.4
make
make install UCBINSTALL=/usr/bin/install

vim /root/.bashrc
alias mail='/usr/local/mailx-12.4/mailx'
source /root/.bashrc

2.编辑/etc/nail.rc(注意不是旧版的/etc/mail.rc):vi /etc/nail.rc
set from=fromUser@domain.com smtp=smtp.domain.com
set smtp-auth-user=username smtp-auth-password=passwordset smtp-auth=login

3.配置成功后,就可以使用了
mail -s "test" user@163.com <content.txt 其中-s后面的是邮件标题,user@sohu.com是收件人地址,content.txt里面是邮件正文
echo "test mail" | mail -s "test" user@163.com

man mailx
-a file
Attach the given file to the message.发附件再不愁。

系统mail操作:

系统收到邮件都会保存在“/var/spool/mail/[linux用户名]”文件中。
在linux中输入mail,就进行了收件箱,并显示二十封邮件列表。

此时命令提示符为"&"
unread 标记为未读邮件
h|headers 显示当前的邮件列表
l|list 显示当前支持的命令列表
?|help 显示多个查看邮件列表的命令参数用法
d 删除当前邮件,指针并下移。 d 1-100 删除第1到100封邮件
f|from 只显示当前邮件的简易信息。 f num 显示某一个邮件的简易信息
f|from num 指针移动到某一封邮件
z 显示刚进行收件箱时的后面二十封邮件列表
more|p|page 阅读当前指针所在的邮件内容阅读时,按空格键就是翻页,按回车键就是下移一行
t|type|more|p|page num 阅读某一封邮件
n|next|{什么都不填} 阅读当前指针所在的下一封邮件内容
阅读时,按空格键就是翻页,按回车键就是下移一行
v|visual 当前邮件进入纯文本编辑模式
n|next|{什么都不填} num 阅读某一封邮件
top 显示当前指针所在的邮件的邮件头
file|folder 显示系统邮件所在的文件,以及邮件总数等信息
x 退出mail命令平台,并不保存之前的操作,比如删除邮件
q 退出mail命令平台,保存之前的操作,比如删除已用d删除的邮件,已阅读邮件会转存到当前用户家目录下的mbox文件中。如果在mbox中删除文件才会彻底删除。
在linux文本命令平台输入 mail -f mbox,就可以看到当前目录下的mbox中的邮件了。
cd 改变当前所在文件夹的位置
写信时,连按两次Ctrl+C键则中断工作,不送此信件。
读信时,按一次Ctrl+C,退出阅读状态。

有什么问题尽管说,反正我也不会帮你的~
原文地址:https://www.cnblogs.com/zyd112/p/5195989.html