返回顶部
首页 > 资讯 > 操作系统 >如何在Linux系统上使用转发服务器处理邮件通信
  • 831
分享到

如何在Linux系统上使用转发服务器处理邮件通信

2023-06-13 01:06:05 831人浏览 安东尼
摘要

这篇文章主要介绍“如何在linux系统上使用转发服务器处理邮件通信”,在日常操作中,相信很多人在如何在Linux系统上使用转发服务器处理邮件通信问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在Linux系

这篇文章主要介绍“如何在linux系统上使用转发服务器处理邮件通信”,在日常操作中,相信很多人在如何在Linux系统上使用转发服务器处理邮件通信问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在Linux系统上使用转发服务器处理邮件通信”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

当你启动并运行应用服务器后,你就需要一台好的邮件服务器来为你传递邮件。我为我所有的服务器开通了postfix邮件服务,下面就是我常用的配置。
CentOS 6上安装Postfix

   

代码如下:

yum install postfix

默认安装了Sendmail,所以最好将它停掉并移除。

   

代码如下:

service sendmail stop
   yum remove sendmail

Postfix包含了两个配置文件main.cf和master.cf,对于基本的配置,你需要修改main.cf。同时,postfix可以像shell变量一样定义参数,并通过$来调用。这些参数不需要再使用前定义,Postfix只在运行中需要时才会查询某个参数。
配置postfix

   

代码如下:

vim /etc/postfix/main.cf

去掉以下行的注释

   

代码如下:

# 你的主机名
   myhostname = yourhostname.com
   
   # 你的发件域
   myorigin = $myhostname
   
   # 指定用于接收邮件的网络接口,这里指定 localhost 是因为我们只用来接受本地的程序投递
   inet_interfaces = localhost
   
   # 指定所使用的协议,可以使用“all”来增加 IPv6 支持
   inet_protocols = ipv4
   
   
   # 指定所接受的邮件域    
   mydestination = $myhostname, localhost.$mydomain, localhost
   
   # 仅转发本地主机的邮件,而不是主机所在的网络
   mynetworks_style = host

启动postfix

   

代码如下:

service postfix start

这些基本的postfix配置可以让你的机器发送邮件,你可以通过发送邮件并检查“maillog”日志文件来验证。

   

代码如下:

echo test mail | mail -s "test"  leo@techarena51.com && sudo tail -f /var/log/maillog
   
   # 输出的日志类似如下
   Aug 25 14:16:21 vps postfix/smtp[32622]: E6A372DC065D: to=, relay=smtp.mailserver.org[50.56.21.176], delay=0.8, delays=0.1/0/0.43/0.27, dsn=2.0.0, status=sent (250 Great success)
   Aug 25 14:16:21 vps postfix/qmgr[5355]: E6A372DC065D: removed

但是,上述配置并不够,因为邮件服务大多数时候都会被垃圾邮件挤满,你需要添加SPF、PTR和DKIM记录。即便如此,你的邮件仍然可能被当作垃圾邮件来投递,因为你的IP地址被列入了黑名单,大多数时候是因为你的vps先前被入侵了。

还有另外一种选择,或者说是更好的方式是使用第三方邮件提供商提供的邮件服务,如Gmail,或者甚至是Mailgun。我使用Mailgun,因为它们提供了每个月10000封免费电子邮件,而Gmail则提供了每天100封左右的邮件。

在“/etc/postfix/main.cf”中,你需要添加“smtp.mailgun.com”作为你的“转发主机”,并启用“SASL”验证,这样postfix就可以连接并验证到远程Mailgun服务器。

添加或取消以下行的注释。

   

代码如下:

relayhost = [smtp.mailgun.org]
   smtp_sasl_auth_enable = yes
   smtp_sasl_passWord_maps=static:your_username:your_password
   smtp_sasl_security_options=noanonymous

Postfix本身不会实施“SASL”验证,因此你需要安装“cyrus-sasl-plain”。

   

代码如下:

sudo yum install cyrus-sasl-plain

如果你不安装此包,那么你就会收到这条错误信息“SASL authentication failed; cannot authenticate to server smtp.mailgun.org[50.56.21.176]: no mechanism available)”

重启postfix

   

代码如下:

sudo service postfix restart

使用TLS加固Postfix安全

Postfix支持TLS,它是SSL的后继者,允许你使用基于密钥的验证来加密数据。我推荐你阅读 Http://www.postfix.org/TLS_README.html ,以了解TLS是怎么和postfix一起工作的。

为了使用TLS,你需要生成一个私钥和一个由证书授权机构颁发的证书。在本例中,我将使用自颁发的证书。

   

代码如下:

sudo yum install mod_ssl openssl
   # 生成私钥
   openssl genrsa -out smtp.key 2048
   
   # 生成 CSR
   openssl req -new -key smtp.key -out smtp.csr
   
   # 生成自签名的钥匙
   openssl x509 -req -days 365 -in smtp.csr -signkey smtp.key -out smtp.crt
   
   # 将文件复制到正确的位置
   cp smtp.crt /etc/pki/tls/certs
   cp smtp.key /etc/pki/tls/private/smtp.key
   cp smtp.csr /etc/pki/tls/private/smtp.csr

打开postfix配置文件,然后添加以下参数。

   

代码如下:

sudo vim /etc/postfix/main.cf
   
   smtp_tls_security_level = may
   smtpd_tls_security_level = may
   smtp_tls_note_starttls_offer = yes
   
   smtpd_tls_key_file = /etc/pki/tls/private/smtp.key
   smtpd_tls_cert_file = /etc/pki/tls/certs
   smtp_tls_CAfile = /etc/ssl/certs/ca.crt
   smtp_tls_loglevel = 1

安全级别“may”意味着宣告对远程SMTP客户端上的STARTTLS的支持,但是客户端不需要使用加密。我在这里按照mailgun文档提示使用“may”,但是如果你想要强制使用TLS加密,可以使用“encrypt”。

   

代码如下:

service postfix restart
   # 发送一封测试邮件
   echo test mail | mail -s "test"  test@yourdomain.com && sudo tail -f /var/log/maillog

你应该会看到以下信息

   

代码如下:

Aug 21 00:00:06 vps postfix/smtp[4997]: setting up TLS connection to smtp.mailgun.org[50.56.21.176]:587
   Aug 21 00:00:06 vps postfix/smtp[4997]: Trusted TLS connection established to smtp.mailgun.org[50.56.21.176]:587: TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)

如果一切正常,你可以注释掉以下参数。

代码如下:

“smtp_tls_loglevel = 1”

到此,关于“如何在Linux系统上使用转发服务器处理邮件通信”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 如何在Linux系统上使用转发服务器处理邮件通信

本文链接: https://lsjlt.com/news/263892.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何在Linux系统上使用转发服务器处理邮件通信
    这篇文章主要介绍“如何在Linux系统上使用转发服务器处理邮件通信”,在日常操作中,相信很多人在如何在Linux系统上使用转发服务器处理邮件通信问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在Linux系...
    99+
    2023-06-13
  • 如何在Linux上使用mail命令发送邮件
    这篇文章主要为大家展示了“如何在Linux上使用mail命令发送邮件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何在Linux上使用mail命令发送邮件”这...
    99+
    2024-04-02
  • Linux系统中如何使用命令发送邮件
    这篇文章将为大家详细讲解有关Linux系统中如何使用命令发送邮件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。管理服务器时我们经常需要写一些监测脚本,然后在出问题的时候通过邮件来通知。需求本文使用Cent...
    99+
    2023-06-27
  • 在Linux系统中使用Apache服务器时,如何处理ASP文件?
    Apache服务器是一种非常流行的Web服务器软件,它是开源的,可以在Linux系统上运行。然而,如果你想在Apache服务器上运行ASP文件,你需要进行一些额外的设置。 ASP是一种动态网页技术,它使用VBScript或JScript作...
    99+
    2023-11-09
    linux apache 文件
  • 如何在Linux上使用文件系统tmpfs
    这篇文章主要介绍“如何在Linux上使用文件系统tmpfs”,在日常操作中,相信很多人在如何在Linux上使用文件系统tmpfs问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在Linux上使用文件系统tm...
    99+
    2023-06-13
  • 如何在FreeBSD系统上安装和配置邮件服务器
    在FreeBSD系统上安装和配置邮件服务器的步骤如下: 安装邮件服务器软件 在FreeBSD系统上,常用的邮件服务器软件有Pos...
    99+
    2024-04-02
  • 如何在阿里云Linux服务器上发送文件到邮箱
    阿里云Linux服务器是阿里云提供的一种基于Linux的操作系统,具有稳定性、安全性、高效性等特点。在阿里云Linux服务器上,我们可以通过多种方式发送文件到邮箱,本文将详细介绍其中的一种方法。 在阿里云Linux服务器上,我们可以通过SS...
    99+
    2023-11-01
    阿里 器上 邮箱
  • 如何在Linux系统中通过PHP脚本实现邮件发送功能
    在Linux系统中,我们可以使用PHP脚本来实现邮件发送功能。通过PHP的邮件发送函数,我们可以轻松地将邮件发送给指定的收件人。下面是具体的代码示例,帮助你实现这个功能。首先,我们需要确保在Linux系统中已经安装了PHP,并且已经配置好了...
    99+
    2023-10-21
    邮件发送 Linux系统 PHP脚本
  • 在Linux系统上使用Apache服务器时,如何正确处理ASP文件的编码格式?
    在Linux系统上使用Apache服务器,处理ASP文件的编码格式是一个很重要的问题。ASP文件通常是使用VBScript或JScript编写的,而在不同的编码格式下,ASP文件的解析会有所不同。本文将介绍如何在Linux系统上使用Apa...
    99+
    2023-11-09
    linux apache 文件
  • Linux系统的服务器上如何配置电信网通双IP
    本篇内容介绍了“Linux系统的服务器上如何配置电信网通双IP”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!对于双线双IP的服务器来说,要解...
    99+
    2023-06-13
  • 如何在linux centos 6.5 x86_64位上使用命令发送邮件
    这篇文章主要讲解了“如何在linux centos 6.5 x86_64位上使用命令发送邮件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在linux centos 6.5 x86_64...
    99+
    2023-06-13
  • 如何使用Python处理Linux系统上的文件和目录?
    Python是一种高级编程语言,它可以轻松地处理Linux系统上的文件和目录。在本文中,我们将介绍如何使用Python来处理Linux系统上的文件和目录,以及如何使用Python编写脚本来自动完成文件和目录操作。 一、Python处理Lin...
    99+
    2023-08-25
    npm 数据类型 linux
  • 如何使用ASP在Linux系统中进行文件处理?
    ASP是一种在Web应用程序开发中广泛使用的技术,它可以在Microsoft Windows操作系统上轻松地进行文件处理。但是,在Linux操作系统上使用ASP进行文件处理可能会有一些不同的挑战。在本文中,我们将介绍如何使用ASP在Linu...
    99+
    2023-10-03
    linux apache 文件
  • 如何在Linux上使用NumPy处理ASP文件?
    在Linux操作系统中,NumPy是一个非常常用的Python库,它提供了高效的多维数组和矩阵计算功能。如果你需要在Linux上处理ASP文件,那么使用NumPy库将会是一个非常好的选择。下面我们将介绍如何在Linux上使用NumPy处理A...
    99+
    2023-08-14
    文件 linux numy
  • 如何进行linux系统邮件服务器的搭建
    这期内容当中小编将会给大家带来有关如何进行linux系统邮件服务器的搭建,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。邮件服务器简介:互联网中的电子邮件系统并不是一个孤立的体系,需要DNS服务器提供邮件域...
    99+
    2023-06-28
  • Linux服务器中如何使用邮件服务spam
    这篇文章给大家介绍Linux服务器中如何使用邮件服务spam,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。安装spamspam(SpamAssassin)利用perl来进行文字分析,他会检测邮件的标题、内容、送信人,这...
    99+
    2023-06-05
  • 如何在Linux系统中使用Bzip2/Bunzip2处理压缩文件
    本篇内容介绍了“如何在Linux系统中使用Bzip2/Bunzip2处理压缩文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!同 gzip ...
    99+
    2023-06-13
  • 如何通过Systemd和Crontab在Linux系统中管理系统服务
    在Linux系统中,可以使用Systemd和Crontab来管理系统服务。下面是使用这两个工具的简要步骤:通过Systemd管理系统...
    99+
    2023-10-09
    Linux
  • 如何在Linux上使用Python和Numpy处理文件?
    在Linux系统中,Python和Numpy是两个非常强大的工具,可以帮助我们处理各种类型的数据文件。本文将介绍如何在Linux上使用Python和Numpy处理文件,并通过实例演示代码,让您更好地理解。 一、Python和Numpy简介 ...
    99+
    2023-10-10
    numpy linux 文件
  • 如何在Linux系统中使用Java处理路径?
    在Linux系统中使用Java处理路径是一个非常常见的需求。无论是开发Java应用程序还是编写Shell脚本,在路径处理方面都需要使用Java。本文将介绍如何使用Java在Linux系统中处理路径,并提供一些示例代码。 获取当前路径 获...
    99+
    2023-10-11
    linux path javascript
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作