email配置

1)apt-get install mailutils //安装mail命令
2)mail -s "Hello from Linux Server by shell" shihaibin@126.com //测试
//出现报错 cannot send message: Process exited with a non-zero status
3)sudo dpkg-reconfigure postfix  //改配置命令选第二个后不报错了 但还是收不到邮件

//找了网上多个博客一个个测试后找到了能用的方法:
https://blog.csdn.net/littlewhite1989/article/details/53302329
echo -e "To: shihaibin@126.com
CC: handy1989@qq.com
From: handy<handy@test.com>
Subject: test

hello world" | sendmail -t

  

按上面博客的内容整理一下

1)新建mail.txt文件 粘贴下面的配置
//to收件人 cc抄送人 from发件人 subject标题 下面是邮件内容
//如果有多个收件人或抄送人,用逗号分隔
To: shihaibin@126.com
CC: handy1989@qq.com
From: handy<handy@test.com>
Subject: test

hello world

2)发送邮件
cat email.txt | sendmail -t

3)若邮件中带有中文 要先对中文进行base64加密 格式为=?UTF-8?B?xxxxxx?= //xxx就是中文加密的密文 我找到了下面网站可以base64加密 http://www.jsons.cn/base64/
或者 echo 加密字段 | base64 来打印获取加密字段 例子:邮件中文标题 '测试' '测试'加密后为 5rWL6K+V 改为Subject: =?UTF-8?B?5rWL6K+V?= 发送邮件 测试成功 邮件标题变为中文
4)若邮件内容带html 邮件头添加Content-type字段来标记文本类型 例子: To: shihaibin@126.com CC: handy1989@qq.com From: =?UTF-8?B?5rWL6K+V?=<handy@test.com> Subject: =?UTF-8?B?5rWL6K+V?= Content-type: text/html;charset=utf-8 <h1>hello world</h1>


5)日志位置
var/mail/用户名

接收邮件中带有 ‘(由root@ubuntu.localdomain代发)’ 字样 取消方法如下:

root是我发邮件用的linux系统用户名  ubuntu是我本地hosts中ip域名

在hosts中随便配置一个127.0.0.1 xxx.com //域名随便定义 要带个点. 

邮件中就不会出现(***代发)字样 hosts中写的域名不会体现在邮件中

原文地址:https://www.cnblogs.com/hbhb/p/14581547.html