我应该使用什么策略在linux上安装smtp服务器? multithreading服务

你好,我需要实现的服务,通过电子邮件发送用户提醒,这应该是multithreading的计划系统这部分是好的,但我需要安装和configuration服务器上的电子邮件出去smtp服务器,这是我不知道如何做什么和期望我的工具将在一些Linux的组合灯(我猜ubuntu)切片。

安装是非常分布特定的,因为有分发推荐安装软件的方法。 我推荐任何人在任何Linux发行版上通过源码安装Postfix是非常罕见的。

用Ubuntu,使用apt-get。

$ sudo apt-get install postfix 

这将在你的Ubuntu服务器上安装postfix,之后的configuration留给你。 我的build议是将邮件发送到sendmail二进制文件(通常位于/ usr / sbin / sendmail),如果Postfix系统处于closures状态,邮件将保留在队列中。 如果您使用SMTP并连接到端口25,如果您的邮件服务器需要进行一些维护,您的应用程序将需要保留它自己的邮件队列或风险邮件不被传递。

按照Postfix.org的说明安装Postfix

你也可以安装exim4,虽然对于困难的设置(由于debian的hackery)更复杂,但更容易设置转发邮件。 只需apt-get install exim4,然后,如有必要,dpkg-reconfigure exim4-config。

就我个人而言,我会认真考虑你的目标。 如果它只是代表一个networking服务器喷出奇怪的邮件 – 用Sendmail / Postfix去吧。 如果将要处理入站邮件和用户,以及所带来的一切复杂性,我会考虑exim4。 后者为您带来了一大堆的灵活性,默认情况下的数据库选项和病毒/垃圾邮件扫描,然后再完成SMTP交易。 哦,是的 – 它是一个痛苦的设置 – 但一旦分类 – 甜。

如果你曾经从源代码构build/编译过代码,Postfix并不难从源代码中站起来。

我们使用mailx向外发送电子邮件,并将mailx会话发送到实际中继点的postfix SMTP服务器。

而且,一旦你开始运行Postfix服务器,其他外部服务器可以引用它来进行电子邮件中继。

我们使用脚本化的构build过程在我们的Linux发行版(Pozix Linux)上构buildPostfix。

这里是我们用来构buildPostfix make文件的命令:

make makefiles CCARGS = -DHAS_PGSQL -DUSE_TLS -I / usr / local / pgsql-8.2.13 / include -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I / usr / include / sasl -I / usr / local / BerkeleyDB / include''AUXLIBS = L / usr / local / lib -L ​​/ usr / local / pgsql-8.2.13 / lib -L ​​/ usr / local / BerkeleyDB / lib -lpq -lsasl2 -lz -lm -lssl -lcrypto -lpthread'

您可以根据自己的需要进行调整。 由于我们使用PostgreSQL,我们有:-L / usr / local / pgsql-8.2.13 / lib -lpq

如果你不需要PostgreSQL的支持,你可以消除这些。 像SASL和TLS一样明智。

这个命令执行后,

make install(用于新安装)进行升级(升级以前的版本)

为了使mailx正常工作,我们通常会有一个以root身份调用脚本的CRON作业。

该脚本反过来调用mailx。

MAILX使用.rc文件来读取环境variables,因为我们以root用户的身份调用mailx,所以我们需要在root的主目录下放一个名为“.mailrc”的文件。

.mailrc的内容如下所示:

设置from [email protected]设置smtp = mail.mydomain.com设置[email protected]设置smtp-auth-password = alertspassword设置smtp-auth =login

然后在我们的脚本中,我们像这样调用mailx:

回声“testing消息”| mailx“[email protected] [email protected]”-s“电子邮件主题”“电子邮件正文”

或者你可以这样做:

mailx -s“subject”-a / path / to / some / file [email protected]

其中-a允许你附加一个文件,test.msg是一个外部文件,可以读入电子邮件正文。

或者其他方式,类似于第一个文件附件,是:

回声“消息正文”| mailx -s“subject”-a / path / to / some / file [email protected]