为我的用例configurationPostfix + Dovecot + MySQL

我在Debian上安装了Posfix,Dovecot和MySQL(例如sample.net),并且configuration了外部用户只能在这个域sample.net(使用我的SMTP)发送邮件。 我还configuration了所有邮件(如*@sample.net)被转发到一个邮箱[email protected]。 大多数情况下,我是按照这个指南。

一些我的Postfixconfiguration:

virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf mysql-virtual_forwardings.cf query = SELECT destination FROM forwardings WHERE source='%s' Table | SOURCE | destination | | @sample.net | [email protected] | 

我已经允许我的SNTP通过下面的方式只接收sample.net的邮件:

 transport_maps = proxy:mysql:/etc/postfix/mysql-virtual-transport.cf mysql-virtual-transport.cf query = SELECT transport FROM transport WHERE DOMAIN='%s' Table | DOMAIN | transport | | sample.net | : | | * | error:Only allowing one domain | 

所有工作如我所料,但我需要增加从本地客户端(如PHP)发送邮件给外部用户的可能性。 不幸的是,我不知道如何做到这一点。

postfix中的默认设置是禁止中继给机器外的任何人,也只接受本地托pipe的域名的邮件。

考虑到这一点,你想达到的是相当简单的。 你应该像这样设置mydestination (假定postfix服务器在sample.net

mydestination = $myhostname localhost.$mydomain localhost

myhostname设置为服务器的主机名,例如mail.sample.netmydomainsample.net

这将确保从“外部”后缀将只接受邮件sample.net ,那么你可以设置一个别名redirect所有的邮件sample.net[email protected]

那么你可以设置我的mynetworks ,只允许从本身转发像这样:

mynetworks = 127.0.0.0/8

这将做你所要求的一切,而且更灵活。 您可能需要执行诸如设置MXlogging,RDNS以及其他可能超出此答案范围的内容。

用postfix,dovecot和mysql设置电子邮件服务器的绝佳指南可以在这里find: https : //workaround.org/ispmail/wheezy

我已经完成了两次,一次是在Debian和那里提到的组件,一次是与Ubuntu,稍微不同的postfix和dovecot版本,并与postgres,而不是MySQL。

阅读指南并了解它花费的每一分钟,我总是推荐给人,即使他们将有一个较小的设置。