如何在Postfix服务器上中继电子邮件

如何在Postfix服务器上中继电子邮件

作者:Stephan Jau
修订:v1.0
最后更改:2009年12月07日

介绍

对于两个小企业,我在他们的“家”dsl连接上设置了一个debian lenny安装。 问题是他们有动态的ip地址,大多数邮件服务器将不接受动态ip地址上服务器的接收邮件。 解决方案很简单。 设置Postfix,以便它将通过实际的ISP中继传出的电子邮件。 在这个简短的例子中,我会告诉你如何做到这一点。

先决条件

我假设你已经设置了一个工作的Postfix服务器,你有一个电子邮件帐户在您的ISP可以访问。 因此,您需要登录IPS的电子邮件帐户。

2.编辑Postfix配置

首先你需要编辑你的postfix配置...

nano /etc/postfix/main.cf

...并在配置结尾添加以下代码:

smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/saslpasswd
smtp_always_send_ehlo = yes
relayhost = smtp.yourisp.com

当然用你的ISP的smtp服务器替换smtp.yourisp.com 。 SASL也必须工作。 如果您按照Falko提供的完美服务器来设置服务器,那么您不用担心。 然后保存并关闭文件。

如果您的ISP要求您使用特殊端口发送电子邮件,则使用这样一行:

relayhost = [smtp.yourisp.com]:PORT

在我使用过的一个案例中,我不得不输入:

relayhost = [smtpauth.bluewin.ch]:587

3.编辑/ etc / postfix / saslpasswd

扩展Postfix配置后,您仍然需要将凭据添加到/ etc / postfix / saslpasswd文件中,以便您可以在ISP上授权。

nano /etc/postfix/saslpasswd

然后添加:

smtp.yourisp.com     yourlogin:yourpassword

当然,请用yourlogin / yourpassword替换ISP提供的实际用户名和密码。 您不需要在那里添加端口。

4.哈希/ etc / postfix / saslpasswd

在postfix可以使用该文件之前,需要通过postmap进行散列:

postmap /etc/postfix/saslpasswd

5.重新启动postfix

最后你需要重新启动postfix才能使用新的配置:

/etc/init.d/postfix restart

6.测试

当您使用电子邮件服务器发送电子邮件给自己(例如使用Gmail帐户)时,如果您检查该电子邮件的完整标题,您将看到该邮件通过您的ISP进行了转发。 这意味着它现在工作。 只要您的ISP现在没有列入黑名单,您的动态IP将不会阻止您发送电子邮件。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏