热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux下配置邮件发送器

linux下配置邮件发送器postfix开始之前必须先配置dns域名解析详见另一篇博客安装postfix服务器并进行配置可能postfix在系统安装过程中已经安装了此服务,可以使用

linux下配置邮件发送器postfix

开始之前必须先配置 dns域名解析 详见另一篇博客


安装postfix服务器并进行配置



  • 可能postfix在系统安装过程中已经安装了此服务,可以使用下面的命令查询

rpm -q postfix


  • 如果没有可以手动安装:

yum install -y postfix


  • 检查 postfix 是否支持 cyrus dovecot 功能:

postconf -a

image-20210209225510306

查询是否支持cyrus与dovecot,如果不支持需要重新安装新的版本



  • 编辑 postfix 的配置文件,查找并修改对应配置项:

# cat /etc/postfix/main.cf
myhostname = mail.testmail.com //本机主机名
mydomain = testmail.com //服务器域名
myorigin = $mydomain //初始域名
mail_owner = postfix inet_interfaces = all //监听接口
inet_protocols = all //监听网络版本
mydestination = $myhostname, localhost.$mydomain, localhost //目标域
unknown_local_recipient_reject_code = 550
mynetworks = 192.168.100.0/24, 127.0.0.0/8 //修改可接收邮件的主机名和域名,可被中继 的主机 192.168.100.0 为我自己定义的网段
home_mailbox = Maildir/ //邮件目录,在用户家目录下
mynetworks_style = host //指定信任网段类型
relay_domains = $mydestination //指定允许中转邮件的域名

home_mailbox有两个选项,一个是Mailbox,另一个就是Maildir



  • Mailbox

    同一个用户的所有邮件内容存储为单个文件,通常保存在/var/spool/mail/目录下文件名与用户名相同,这是Postfix默认使用的方式。



  • Maildir

    使用目录结构来存储用户的邮件内容每一个用户使用一个文件夹,每封邮件都作为一个独立的文件存放。这种方式的存取速度和效率要好一些,对于管理邮件内容页也更加方便。



  • 如果想要查看postfix非默认配置,可以使用命令: postconf -n



  • 检查配置文件是否有语法错误``postfix check` 没有输出错误,证明配置文件没有问题




其他 postfix 运维命令:
newaliases (重建别名数据库)
postalias /etc/postfix/aliases (创建或查询别名数据库)
postcat (显示队列文件内容)
postconf (修改 main.cf 配置文档 )
postqueue (査看 postfix 队列)
postsuper (管理员管理 postfix 队列)
postmap (创建查询表的 DB 数据库或查询查询表内容)


  • 然后重启服务

systemctl restart postfix



  • 检测服务进程以及端口是否正常netstat -lntp | grep 25

image-20210209230120810

ps -ef | grep postfix | grep -v grep

image-20210209230221767


安装配置dovecot

yum install -y dovecot

编辑/etc/dovecot/dovecot.conf文件,打开:

protocols = imap pop3 lmtp
listen = *, ::

编辑/etc/dovecot/conf.d/10-auth.conf文件,设置:

disable_plaintext_auth = no

编辑/etc/dovecot/conf.d/10-mail.conf文件,设置:

mail_location = maildir:~/Maildir

测试


添加用户


image-20210209222529691

这里必须关闭防火墙!!


使用telnet进行测试


在这之前要添加dns 8.8.8.8ip 或者 114.114.114.114 两种都是域名解析服务器

image-20210209231029069

telnet mail.testmail.com 25

Trying 192.168.8.8...
Connected to mail.abc.com.
Escape character is '^]'.
220 mail.abc.com ESMTP Postfix
helo mail.testmail.com // 设置发邮件的主机
250 mail.testmail.com // 250表明命令执行成功
mail from: jack@mail.testmail.com // 设置发件人地址
250 2.1.0 Ok
rcpt to:tom@mail.testmail.com // 设置收件人地址
250 2.1.5 Ok
data // 开始写邮件正文
354 End data with .
hello tom, I am Jack! 这是一封测试邮件!
. // 标点符号“.“结束正文书写
250 2.0.0 Ok: queued as 09F21E0973
quit // 退出telnet
221 2.0.0 Bye
Connection closed by foreign host.

image-20210209231351995

连接端口110收邮件:


telnet mail.testmail.com 110

依次输入红框中的命令,即可查看邮件:

user tom // 使用tom用户登录
pass tom // 输入tom的密码
list // 列出邮件列表,可以看到有一封邮件
retr 1 // 读取1号邮件
quit //退出telnet

image-20210209231520008

使用第三方邮箱接收

详情请看 https://blog.csdn.net/witton/article/details/105882959


关于qq邮箱接受的问题

错误码:554 DT:SPM 可能被视为垃圾邮件了,参见http://mail.163.com/help/help_spam_16.htm?ip=171.212.195.205&hostid=mx41&time=1588408748

QQ邮箱退回信息:

host mx3.qq.com[58.251.110.111] said: 550 Domain may not
exist or DNS check failed

错误码:550 Domain may not exist or DNS check failed

即域名不存在或者DNS检查失败。有些邮箱会在收到邮件时,验证是否可以向该地址发送邮件,如果不能发送则会拒收,以防止垃圾邮件。

出现这些问题有一个重要原因是因为我们并未在公网注册我们的域名,所以对方无法反向查找。不过到目前为止内部使用是完全没有问题了。

除非外网注册域名否则无法解决



推荐阅读
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文讲述了如何通过代码在Android中更改Recycler视图项的背景颜色。通过在onBindViewHolder方法中设置条件判断,可以实现根据条件改变背景颜色的效果。同时,还介绍了如何修改底部边框颜色以及提供了RecyclerView Fragment layout.xml和项目布局文件的示例代码。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 解决浏览器打开网页后提示“dns_probe_possible 怎么解决”的方法
    在使用浏览器进行网上冲浪的时候遇到故障是一件很常见的事情,很多用户都遇到过系统提示:dns_probe_possible。从提示中可以看出和DNS是有一定的关系的,经过小编测试之后 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 这个问题困扰了我两天,卸载Dr.COM客户端(我们学校上网要装这个客户端登陆服务器,以后只能在网页里输入用户名和密码了),问题解决了。问题的现象:在实验室机台式机上安装openfire和sp ... [详细]
  • Telnet的使用(Telnet远程连接Linux)
    一、环境描述:客户端:Win10操作系统 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  •   1、确认自己的线路是否连接正确腾达a9设置。 ... [详细]
  • 服务器系统更新要多久,系统时间更新服务器是多少,
    系统时间更新服务器是多少,时间器(timeserver)是NTP的一种服务通过它可以使中的机器维持时间同步。目前系统更新Internet时一般都是从以下5个时间服务器 ... [详细]
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
  • hosts文件是什么意思
    hosts文件是什么意思:hosts文件是每一台电脑中都必须要拥有的重要文件,hosts文件的作用有很多,今天小编为大家带来的就是hosts文件存在的作用,感兴趣的话就快来看看吧。 ... [详细]
  • SharePoint 指定配置数据库访问账户“域账户\用户”
    大家在安装sharepoint时都会遇到这个问题,域账户,什么是域账户哪?域账户简单理解就是网路账户,与本地账户不同,什么是域哪?域就是控制器。一台Windows计算机,它要么隶属 ... [详细]
author-avatar
悠闲自在的鱼叫_688
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有