我刚刚注册了macminicolo.net,并试图进行configuration。 我需要设置服务器,以便它将特定的邮件转发到特定的地址(转发器),以及一个域的所有地址到一个特定的地址(默认地址)。 从我可以告诉:你不能在GUI服务器应用程序中做到这一点,但你可以手动更改configuration文件,而不会搞乱服务器应用程序设置。 你可以在这里看到我的main.cf和Postfix的虚拟文件(带有编辑的域和地址): https : //gist.github.com/davbeck/31f75e667be9dbe9f0ef 按照这里的说明: http : //www.postfix.org/VIRTUAL_README.html#forwarding 我在main.cf中添加了以下内容: virtual_alias_domains = mydomain.com virtual_alias_maps = hash:/Library/Server/Mail/Config/virtual 以下为虚拟: [email protected] [email protected] @mydomain.com [email protected] 然后,我在terminal中运行以下内容: sudo postmap /Library/Server/Mail/Config/postfix/virtual sudo postfix reload 但是,当我尝试向这些地址发送电子邮件时,我收到的Recipient address rejected: User unknown in virtual alias table从服务器返回的Recipient address rejected: User unknown in virtual alias table 作为一个侧面说明,我可以发誓,我看到一个Mac GUIconfiguration服务器设置像这样,但不能在我的生活中find它。
在电子邮件欺骗方面,我面临着validation电子邮件中“发件人:”消息字段的问题。 我目前正在使用SPF和DKIM来validation消息的来源和完整性,但是据我所知,SPF只validation“Return-Path”头,它不以任何方式显示给最终用户(通过roundcube或雷鸟)和DKIM只允许数字签名的信息,并确保发件人真的是他声称是。 我也试图深入研究DMARC,但是这一个显然只允许将源自域外的未签名邮件视为垃圾邮件(这很好),但目前仅被大邮件提供商(Gmail,Yahoo)使用, 当某人(例如一些免费共享主机的拥有者)决定运行这个简单的PHP脚本时,这些function都不能保护自己 <?php $headers = "From: [email protected]".PHP_EOL."Reply-To: [email protected]".PHP_EOL."Content-type: text/plain; charset=iso-8859-2"; if(mail('[email protected]', 'Hello', 'Test spam function', $headers)) { echo 'Message sent'; } 在Gmail中,您至less可以看到标题(不是警告),而是说“[email protected] via”,但如果您使用的是ex。 雷鸟连接通过IMAP / POP3你没有看到任何这样的事情 – 唯一的方法来检测骗局是直接查看原始邮件标题。 这意味着即使在Gmail中也没有保护这种简单的欺骗 如果例如SFP除“返回path”之外还将validation“From:”字段,则可以容易地避免IMO。 因此,我想知道是否有任何插件的Postfix / Amavisd,将允许这样的欺骗过滤? 或者,也许我误解了一些这些技术(SPF / DKIM / DMARC),其中一个可以防止这种欺骗?
由于某种原因(也许愚蠢,可能是钱)我需要设置域有两个邮件服务器: 一些邮件地址将在谷歌上 一些邮件地址将由我们的服务器pipe理 我知道MXlogging怎么做没有办法,但有没有机会让它工作没有几个问题? 喜欢(让我们得到domain.com ): 将domain.com MXlogging设置为Google服务器 在谷歌pipe理,创build应由谷歌pipe理的邮件帐户 为其他人创build别名,例如[email protected] – > [email protected] 将f.domain.com MXlogging设置到我们的服务器 在我们的服务器上将domain.comconfiguration为邮件域 创build用户[email protected] 在ourserver上创build域名别名,将f.domain.com – > domain.com 让用户login到我们的服务器上使用我们的SMTP 这会工作吗? 有没有人更好的想法如何做到这一点? 注意:我们在我们的服务器上使用了postfix&dovecot组合
我已经configuration了这样的postfix来防止垃圾邮件(我是mydomain.com): smtpd_helo_restrictions = permit_mynetworks permit_sasl_authenticated check_client_access hash:/etc/postfix/check_client_access check_helo_access hash:/etc/postfix/check_helo_access reject_non_fqdn_helo_hostname reject_invalid_helo_hostname reject_unknown_helo_hostname … 因此,我有以下日志: Jul 30 00:04:14 stormrage postfix/smtpd[28116]: NOQUEUE: reject: RCPT from srv-exchange.anett.fr[80.118.5.170]: 450 4.7.1 <emailsecurity.domain.com>: Helo command rejected: Host not found; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<emailsecurity.domain.com> 这个示例日志是一个合法的电子邮件,所以我在check_helo_access这样白名单: /etc/postfix/check_helo_access: emailsecurity.domain.com OK … 它的工作,但我认为白名单可能会加强。 我可以按主机或发件人列入白名单,但不能同时列入白名单。 当通过特定的主机发送邮件时,如何根据特定的发件人/域发件人列出电子邮件?
我想用postfix自动签名发送邮件。 我find了一个脚本,并将其集成到后缀。 这大部分是预期的工作,但它有两个错误,我希望你能帮我解决这些问题。 /home/xxx/sign.sh #!/bin/bash WORKDIR="/tmp" SENDMAIL="/usr/sbin/sendmail -G -i" EX_UNAVAILABLE=69 SENDER="$2"; RECIPIENT="$4" MESSAGEFILE="$WORKDIR/message.$$" trap "rm -f $MESSAGEFILE; rm -f $MESSAGEFILE.signed" 0 1 2 3 15 umask 077 cat > $MESSAGEFILE || { echo Cannot save mail to file; exit $EX_UNAVAILABLE;} SUBJECT=$(reformail -x "Subject:" < $MESSAGEFILE) openssl smime -sign -in $MESSAGEFILE -out $MESSAGEFILE.signed -from $SENDER -to […]
我们正在尝试使用PostFix来检查发件人电子邮件地址是否被允许发送到特定的电子邮件地址。 另一种描述它的方式是我想要特定的电子邮件地址只允许来自特定电子邮件地址的传入消息(不是SMTPlogin)。 会有这样的工作? main.cf: smtpd_recipient_restrictions = [other restrictions here] check_sender_access mysql:/etc/postfix/restricted_senders_to_recipents.cf restricted_senders_to_recipents.cf: user = uname password = pword hosts = 127.0.0.1 dbname = dbname #!!!PSEUDOCODE!!! query = SELECT allowed FROM members WHERE sender = %sender AND recipent = %recipent; 这可能吗? 如果那么如何? 我知道MySQL的别名是这样工作的,因为我们已经在使用它了。 ( http://www.postfix.org/mysql_table.5.html )
在我的后缀main.cf我有: smtpd_recipient_restrictions = reject_unauth_destination, check_recipient_access regexp:/etc/postfix/access.me … virtual_alias_maps = hash:/etc/postfix/virtual … 在我的虚拟文件中,我有: [email protected] [email protected] [email protected] [email protected] @mydomain.com [email protected] 在我的access.me文件中,我有: /^abc/ OK /[email protected]/ OK /[email protected]/ REJECT failed test /@mydomain.com/ REJECT failed test contact [email protected] 有了这个,我已经成功地失败(!)发送到[email protected],所以我知道access.me被正确读取后缀。 如果我发送到[email protected],它将被access.me的第4行拒绝(正确)拒绝 但是,如果我尝试邮件[email protected]它失败与“虚拟别名表中的用户未知”,这表明它被access.me的第1行接受,但我需要这封电子邮件成功,并通过。 所以差不多那里,但我必须误解后缀逻辑…蒂姆
超过配额时,我实施了警告maildrop。 除了一个细节,这工作正常。 缺点是,发送邮件通知是唯一的时间发送…我的意思是,例如,如果邮箱超过80%,如我已经configuration,发送超过电子邮件通知,那里没事。 问题是,如果超过了邮箱,即使在24小时后,也不会重新发送警报。 我注意到,当一个邮箱超过限制时,会在超出/home/vmail/domain/mailbox/quotawarn的邮箱文件夹中创build名为quotawarn的文件。 如果我删除该文件,立即发送通知。 所以这似乎出现在那里的话题。 我注意到在文档中,并理解,应该在这里说的function,这意味着警告限制超过24小时后重新发送,但这是行不通的。 任何想法 ? 谢谢
我们有一个在Exchange环境中不再有邮箱的用户列表。 我们希望用一个可能的自定义variables对这些用户进行非常具体的回复。 我认为Postfix可能会为此工作。 当收到消息时,应该: 如果地址在列表中 :自动回复带有反弹信息(或只是一个普通的电子邮件)。 消息应该包含一个新的地址; 也许有一个数据库表,将旧地址转换为新地址? 如果地址 不在 列表中 :发送到exchange.example.com mailhost。 任何人做了类似的事情,可以给我一个如何做到这一点的想法?
我想知道是否有可能指定另一个main.cfconfigurationsmptd服务在另一个端口配对与标准端口的正常configuration。 我知道是否有可能使用-o <key>=<value>参数覆盖master.cf中的main.cf设置,但是我想要直接告诉smtpd读取另一个主要configuration文件。 可以这样做吗?