CentOS简单配置让其可以发送邮件

问题描述

自己配置了cron文件,但是脚本自动运行的时候并不能mail to 到自己设定的邮箱。

问题解决

配置好centos自带的postfix,使其可以发送邮件。由于没有购买域名,所以无法收取邮件,请注意。

准备工作

1.确保安装了postfix,telnet,mailx,且没有安装其他MTA如sendmail。

rpm -qa |grep -iE "mailx|postfix|telnet|sendmail"

[10:11 root@study ~]#rpm -qa |grep -iE “mailx|postfix|telnet|sendmail”


telnet-0.17-73.el8.x86_64
postfix-3.3.1-9.el8.x86_64
mailx-12.5-29.el8.x86_64
pcp-pmda-sendmail-4.3.2-2.el8.x86_64
pcp-pmda-postfix-4.3.2-2.el8.x86_64
postfix-perl-scripts-3.3.1-9.el8.x86_64

软件配置

1.配置 Postfix 邮件服务器
Postfix 的配置文件位于 /etc/postfix/main.cf 中

sudo vim /etc/postfix/main.cf

修改myhostname 、mydomain、myorigin、inet_interfaces、inet_protocols、mydestination、mynetworks、home_mailbox 这几项内容如下

# myhostname:设定主机名
myhostname = study.gdis.org
# myhostname:设定域名
mydomain = gdis.org
# myorigin :发信时所显示的『发信源主机』项目
myorigin = $mydomain
# inet_interfaces :设定 postfix 的监听接口
inet_interfaces = all
# inet_protocols :设定 postfix 的监听 IP 协议
inet_protocols = all
#mydestination :设定『能够收信的主机名』
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mynetworks_style :设定『信任网域』的一项指标
mynetworks_style = host
#默认收件箱在/var/spool/mail/user 或 /var/mail/user,把他设置到~/Maildir目录下。
home_mailbox = Maildir/

重新启动 postfix 服务以使更改生效:

systemctl restart postfix

查看状态

systemctl status postfix

[10:43 rliu@study ~]$systemctl status postfix
● postfix.service - Postfix Mail Transport Agent
Loaded: loaded (/usr/lib/systemd/system/postfix.service; disabled; vendor pr>
Active: active (running) since Fri 2020-02-21 10:43:41 CST; 20s ago
Process: 1670 ExecStart=/usr/sbin/postfix start (code=exited, status=0/SUCCES>
Process: 1668 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited, s>
Process: 1650 ExecStartPre=/usr/libexec/postfix/aliasesdb (code=exited, statu>
Main PID: 1756 (master)
Tasks: 7 (limit: 26213)
Memory: 18.5M
CGroup: /system.slice/postfix.service
├─1756 /usr/libexec/postfix/master -w
├─1757 pickup -l -t unix -u
├─1758 qmgr -l -t unix -u
├─1766 cleanup -z -t unix -u
├─1769 trivial-rewrite -n rewrite -t unix -u
├─1775 smtp -t unix -u
└─1777 tlsmgr -l -t unix -u
设置开机自动启动

chkconfig postfix on

[11:42 rliu@study log]$chkconfig postfix on
注意:正在将请求转发到“systemctl enable postfix.service”。
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.

测试运行

1.建立一个测试账户

sudo useradd postfixuser && sudo passwd postfixuser

然后输入想创建的密码即可。
2.从本地用户 rliu发送邮件到另一个用户 postfixuse

telnet localhost smtp

等待运行提示ESMTP Postfix,说明与 postfix 邮件服务器的连接正常。接下来,输入命令:

ehlo localhost

等待完成后依次运行如下命令测试: mail from、rcpt to、data,quit。
运行结果如下

[14:58 root@study postfix]#telnet localhost smtp
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
220 study.gdis.org ESMTP Postfix
ehlo localhost
250-study.gdis.org
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8
mail from:<rliu>
250 2.1.0 Ok
rcpt to:<postfixuser@localhost>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Hello, Welcome to my mailserver (Postfix)
.

250 2.0.0 Ok: queued as 68D4BC2E3F46
quit
221 2.0.0 Bye
Connection closed by foreign host.

TIPS:
1.由于我们没有自己的域名,所以发给自己的收件人后缀名必须是@locahost.
2.End data with<CR><LF>.<CR><LF>的意思是输入完成后以“回车.回车”结尾。

如果一切都按计划进行,那么你应该可以在新用户的家目录中查看发送的邮件:

ls /home/postfixuser/Maildir/new

1582268357.Vfd02I8036cc8M95949.study.gdis.org

要阅读邮件,只需使用 cat 命令,如下所示:

 cat /home/postfixuser/Maildir/new/1582268357.Vfd02I8036cc8M95949.study.gdis.org

[15:07 root@study new]#cat 1582268357.Vfd02I8036cc8M95949.study.gdis.org
Return-Path: rliu@gdis.org
X-Original-To: postfixuser@localhost
Delivered-To: postfixuser@localhost
Received: from localhost (localhost [IPv6:::1])
by study.gdis.org (Postfix) with ESMTP id 68D4BC2E3F46
for postfixuser@localhost; Fri, 21 Feb 2020 14:58:47 +0800 (CST)
Message-Id: 20200221065904.68D4BC2E3F46@study.gdis.org
Date: Fri, 21 Feb 2020 14:58:47 +0800 (CST)
From: rliu@gdis.org


Hello, Welcome to my mailserver (Postfix)

查看Postfix 邮件服务器日志

 tail /var/log/maillog

[15:07 root@study new]#tail /var/log/maillog
Feb 21 14:58:20 study postfix/smtpd[16184]: connect from localhost[::1]
Feb 21 14:59:04 study postfix/smtpd[16184]: 68D4BC2E3F46: client=localhost[::1]
Feb 21 14:59:17 study postfix/cleanup[16196]: 68D4BC2E3F46: message-id=20200221065904.68D4BC2E3F46@study.gdis.org
Feb 21 14:59:17 study postfix/qmgr[13887]: 68D4BC2E3F46: from=rliu@gdis.org, size=344, nrcpt=1 (queue active)
Feb 21 14:59:17 study postfix/local[16201]: 68D4BC2E3F46: to=postfixuser@localhost, relay=local, delay=30, delays=30/0/0/0.02, dsn=2.0.0, status=sent (delivered to maildir)
Feb 21 14:59:17 study postfix/qmgr[13887]: 68D4BC2E3F46: removed
Feb 21 14:59:20 study postfix/smtpd[16184]: disconnect from localhost[::1] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5

用mail测试发送邮件:

echo '邮件内容'|mail -s '邮件标题' 收件人邮箱 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值