阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS上利用mailx搭建邮件服务

180次阅读
没有评论

共计 1037 个字符,预计需要花费 3 分钟才能阅读完成。

CentOS 上安装 mailx 很简单,直接通过 yum 就好了。

  1. yum -y install mailx

安装好后,编辑 /etc/mail.rc

此处用 163 邮箱,只要在该文件末尾加上如下内容即可完成配置:

  1. set from=“xxx_db@163.com”    — 发件邮箱
  2. set smtp=smtp.163.com        — smtp 服务器,此处为黄易 163 的
  3. set smtpauthuser=xxx_db    — 也就是 @163.com 前的内容
  4. set smtpauthpassword=      — 密码
  5. set smptauth=login   

日常用法很简单:
比如给 aaa@xxx.com 这个邮箱发送邮件:(多个邮箱用逗号, 分隔)

  1. $ echo “ 这里是邮件内容 ” | mailx s “ 这里写邮件标题 ” aaa@xxx.com

当然也可以用 cat 或者 < 等方法读取文件中的内容。

常见错误:
① “/root/dead.letter” 11/324. . . message not sent.

可能是 smtp 未开启
比如此处用的是黄易 163 邮箱,就可以在 163 邮箱 web 界面中的【设置】-【POP3/SMTP/IMAP】-【设置 POP3/SMTP/IMAP】:
将对应的服务打钩。
此时会给出第三方也就是所谓的“客户端授权密码”(和原登录密码不一样)
此处的这个授权密码将用于 mailx 发邮件的密码

其他邮箱也要打开 smtp 服务。

##### 更新 #####
② 部分邮件,邮件内容被显示为附件。

CentOS 上利用 mailx 搭建邮件服务
我遇到这个问题是在一个检查 redis replication 的需求上发现的。
定时任务脚本通过 grep 查询从库信息


  1. rediscli info Replication | grep E “role|master_link_|master_last_io_”


然后手动看文本内容,多了一个 ^M,这导致了 mailx 把本该是文本内容的当做了附件。
(当然该附件拿文本编辑器打开,内容是本该发送的内容)

这里用到的解决方法:
通过 dos2unix 命令将需要发送的内容(文本文件)DOS 格式文本文件转换成 UNIX 格式

比如要发送的内容从 a.txt 文件中读取,那么在 mailx 发送之前,执行如下命令即可

  1. $ dos2unix a.txt
  2. dos2unix: converting file a.txt to UNIX format ...

如果没有这个工具,通过 yum 安装一下就好了。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/142383.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1037字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中