简单的本地 smtp 服务器 - 最小设置 ubuntu

简单的本地 smtp 服务器 - 最小设置 ubuntu

建立一个当地的smtp 服务器?

如果您要说 Postfix,那么这些所谓的最低限度、最愚蠢的设置步骤是什么?

我有点惊讶,在任何地方找到这个似乎都这么困难。我需要:

  • 本地托管的 smtp 服务器,用于将邮件发送到互联网。
  • 没有 tls 或 saslauth 或任何其他东西。
  • 仅允许来自本地主机的邮件。
  • 没有继电器。

似乎应该在某个地方安装一些软件包,设置一个帐户,然后您就拥有一个本地 smtp 服务器。

我不是系统管理员。人们说 postfix 非常简单,但也许我做错了,我看到的所有安装文档都很复杂,我实际上没有多余的时间去调试邮件服务器。我只想将邮件发送到互联网。真的那么难吗?

答案1

虽然它没有得到维护,但你可以尝试邮件传输协议。然而,它确实支持一些您不想要的功能,但设置起来非常容易。

来自 Ubuntu 的Synaptic Package Manager描述esmtp

ESMTP 是用户可配置的仅中继邮件传输代理 (MTA),具有与 sendmail 兼容的语法。它基于支持 AUTH(包括 CRAM-MD5 和 NTLM SASL 机制)和 StartTLS SMTP 扩展的 libESMTP。

esmtp 网站列出了一些其他备择方案,其中sSMTP看起来最简单。来自 Ubuntu 的Synaptic Package Manager描述ssmtp

一种将邮件从系统发送到邮件中心的安全、有效且简单的方法。它不包含 suid 二进制文件或其他危险内容 - 没有邮件缓冲池可供查看,也没有后台运行的守护进程。邮件只是转发到配置的邮件主机。配置极其简单。

答案2

忽略所有安装文档,您不需要它们。在 Debian/Ubuntu 上,安装问题已得到处理。SMTPdebconf服务器的设置为您提供了一组标准配置。这包括几个可以执行您想要的操作的选项。如果您需要一些文档,请考虑安装该postfix-doc软件包。

根据我的经验,Debian/Ubuntu 的 Exim4 和 Postfix 设置基本相同。以下选项适用于 Exim4,但应该适用于 Postfix。您可以使用该dpkg-reconfigure命令重新运行配置。

您选择的默认配置mail sent by smarthost; received via SMTP or fetchmail应该非常接近您想要的配置。要阻止收到邮件,请将 设置listen address for incoming SMTP sessions127.0.0.1

或者,您可能要考虑选择mail sent by smarthost; no local mail。这会将大多数邮件发送到另一个系统进行投递。有关无法将邮件发送到其他服务器的消息将在本地投递。

通常,负责递送邮件的智能主机是您的 ISP 的中继服务器。在 LAN、MAN 或 WAN 上,可能会有本地邮件服务器可供使用。

答案3

我有同样的需求,刚刚在 CentOS 上用这些简单的命令安装了 postfix(当然替换 fancyhostname、fancydomain 和[电子邮件保护]与适合你的情况相关):

# Before you beging setup your hostname properly
# YOU MUST HAVE A VALID HOST NAME
sed -i 's/HOSTNAME=.*/HOSTNAME=fancyname.fancydomain.com/' /etc/sysconfig/network
echo "127.0.0.1   fancyhostname.fancydomain.com    fancyname" >> /etc/hosts
reboot
# check
hostname ; hostname -f ; uname -n; echo `hostname -s`.`hostname -d`
# you should get this output 4 lines like this one:
#   fancyhostname.fancydomain.com
# anything else means you made a mistake above

# installation
#---------------
yum -y install postfix # install postfix
yum -y install mail # makes testing easy - see bellow

# configuration
#---------------
# B) postfix config.
# I only accept mail from localhost - no relaying whatsoever
echo "mynetworks = 127.0.0.0/8" >> /etc/postfix/main.cf
/etc/init.d/postfix reload

# C) where do you want mail for root delivered:
echo "root:     [email protected]" >> /etc/aliases
newaliases

# test
#---------------
echo test | mail -s test root 
sleep 1; tail /var/log/maillog
# now check your mail - you should soon receive the test mail

我确信 ubuntu 不会再难了。我很快就会尝试一下并在这里报告

答案4

安装邮件实用程序

sudo apt-get 安装 mailutils

发送这样的电子邮件

echo "This is the body of my message. Wow this is so simple" | mail -s "This is my subject line" [email protected]

来源:http://ubuntuforums.org/showthread.php?t=1883221

相关内容