Articles of exim

邮件服务器端口选项

我有一个Web服务器,也是我的邮件服务器 – 运行dovecot和exim4。 我目前有5个开放的端口与邮件服务有关,对我来说似乎非常过分。 它是一个专用的盒子,我有root权限 – 最重要的是我可以控制从盒子里接收邮件的每个人 – 所以我可以告诉他们以任何我喜欢的方式configuration他们的邮件客户端。 25/tcp open smtp 110/tcp open pop3 143/tcp open imap 993/tcp open imaps 995/tcp open pop3s 问题: 什么是最安全的邮件服务方式? 我可以closures端口110和143,并告诉每个人设置他们的客户在993和995接收? 邮件是从993/995完全encryption的,即:不能被甩掉?

使用电子邮件地址作为SMTP和POP3的用户名

我有一个exim4设置为SMTP。 我的用户命名模式是将此服务器的所有邮件用户命名为m001,m002,m003,…,然后redirect到具有虚拟域的真实电子邮件地址。 我怎样才能允许我的用户使用他们的系统用户名(m001)或电子邮件地址([email protected])发送邮件进行身份validation? m001的用户login信息存储在linux系统文件(passwd,shadow)中。 它们通过虚拟地址表中的条目链接到该服务器可以服务的每个域: # /etc/exim4/virtual/example.com m001: [email protected] m002: [email protected] m003: [email protected] 同样可以适用于qpopper?

过滤邮件到文件夹

我使用Dovecot和Exim运行邮件服务器。 目前邮件过滤是根据~/包含entires中的.forward文件,按照每个用户的基础完成的: if $h_to: CONTAINS "bugtraq" then save "$home/Maildir/.Mailing Lists.BugTraq/" finish endif if $h_Subject: CONTAINS "Sfic" then save "$home/Maildir/.Mailing Lists/" finish endif 等等。 这是非常繁琐的,因为它需要用户ssh和手动编写自己的.forwars文件。 我想知道是否有更容易或更优雅的服务器端过滤解决scheme。 邮件客户端是否有任何标准来告诉服务器如何分类邮件服务器端?

在Debian服务器上发送邮件的恶意脚本

在虚拟主机上运行debiantesting(wheezy)作为web服务器/ mysql服务器。 它已经安装了logwatch,偶尔我得到一个邮件反弹到一个无效的地址。 这是不一致的时间,并被指向无效的[email protected]。 (其托pipe在Gmail应用程序,现在发生在我身上,我可以添加该电子邮件,以find它的发送,但问题仍然存在,如果这不是一个选项)。 我检查了exim日志,除了logwatch之外没有其他信息。 2012-09-18 06:27:38 ** [email protected] R=dnslookup T=remote_smtp: SMTP error from remote mail server after RCPT TO:<[email protected]>: host ASPMX.L.GOOGLE.com [173.194.77.26]: 550-5.1.1 The email account that you tried to reach does not exist. Please try\n550-5.1.1 double-checking the recipient's email address 那么有什么想法来弄清楚什么脚本可以发送这个邮件? Eximconfiguration可能需要更多的debugging? 它不是推出任何日志而是日志,没有错误或恐慌。 我已经尝试寻找configuration文件寻找该电子邮件地址,但没有运气。 编辑:它不是logging邮件本身,该部分工作正常。 它引用不良邮件反弹的消息内容。 (即logwatch正确地报告eximlog)

如何传送到多个目的地(电子邮件地址和(通过dovecot-lda)邮箱)

我正在使用exim和dovecot。 所有用户都是虚拟的,即他们来自数据库。 查找给定的localpart@domain的目标地址可能会产生包含目标邮箱或目标电子邮件地址的多行。 以下路由器可以正常传送所有电子邮件: pg_aliases: driver = redirect directory_transport = address_file data = ${sg{\ ${lookup pgsql { SELECT CASE WHEN substr(c_dest, 1, 1) = '/' THEN (c_dest||'@@'||c_domain) ELSE c_dest END FROM aliases WHERE c_local = '${quote_pgsql:$local_part}' AND c_domain = realDomain('${quote_pgsql:$domain}');}}}\ {/(.+)@@(.+)}\ {/var/spool/mail/\$2/\$1/Maildir/}} 这个“代码”是旧的,最初不是我写的,但它的工作,我明白了为什么:如果目标是一个邮箱( /mailboxname )它将其转换为一个path,这将导致directory_transport被调用。 否则,目标地址将导致redirect驱动程序处理它。 但是,我想现在使用dovecot-lda进行本地交付。 这意味着我需要调用一个传输,然后从$address_data获取邮箱名称和域名,然后传递给它: dovecot_lda: driver = pipe command = /usr/libexec/dovecot/dovecot-lda […]

如何在exim邮件服务器中删除电子邮件(Linux)

如果用户列在多个别名或多个邮件列表或组中,则将邮件发送到多个别名,邮件列表或组,最终用户将收到多个副本。 如何防止向多个别名或多个邮件列表或组中列出的用户接收多个副本?

使用mysql数据库将传出邮件拖放到以前不可用的邮箱中

我们有一个更大的社区门户网站,这个门户网站多年来越来越大,但也有一些死亡账户。 最近,服务器的IP被列入黑名单,因为用户的许多邮件地址不再可用(550),服务器向他们发送通讯。 为了避免这种情况,我在发送php脚本中筛选出已知不可用的邮箱,但是我想让exim接pipe这个工作,因为它更通用。 我的计划是使用MySQL数据库列出不可用的邮箱。 我想使用一个简单的脚本来遍历日志文件,并将不可用的邮箱电子邮件地址保存到数据库。 我不确定一些提供商是否只假装邮箱因为服务器位于黑名单而不可用, 但是,一旦有40%的邮件被拒绝,我无法想象有这么多的用户删除了他们的邮件账户。 此外,我必须考虑到,删除的帐户可能会(重新)在某个时间创build。 所以随着地址我会存储一个时间戳,可以说,在未来4周。 在这段时间内,地址的所有邮件都必须被删除。 如果在这4周后的第一封邮件可以发货,一切都很好。 否则,这段时间应该延长(指数退避等)。 我可以用脚本覆盖所有这些,我甚至已经知道如何一个SQL查询,给出一个阻塞的地址列表将如下所示: SELECT blocked FROM maildrop WHERE name=${localpart}@${domain} and timestamp<UNIX_TIMESTAMP() 但问题是,我如何正确地将其整合到eximconfiguration中? 起初我以为我可以使用虚拟别名,并将邮件redirect到devnull @ localhost用户的邮件pipe道到/ dev / null。 我使用以下configuration对其进行了testing mysql_sys_aliases: debug_print = "R: mysql_sys_aliases for $local_part@$domain" driver = redirect allow_fail allow_defer data = ${lookup mysql{SELECT login FROM aliases WHERE alias='${local_part}@${domain}'}} 顺便说一句:我也testing了mysql_aliases而不是mysql_sys_aliases 和以下数据库条目:别名:[email protected] | login名:devnull @ […]

Exim电子邮件被黑客攻击或Backscatter攻击

今天早上,我已经为一个客户承担了一个Exim服务器,我从Hotmail启动了大约100次反弹,具体如下: “未发送邮件返回给发件人” 谷歌search我遇到反向散射问题,但是我不知道为什么我的邮件服务器将显示电子邮件出队列,如果是这样? 我对pipe理员邮件服务器并不是很了不起, [root@vesta msglog]# exim -bp 71m 2.5K 1ZC6Ap-0005KE-Un <[email protected]> MariseYFaria@ D heliogalvao@ D paulakunath@ D eve_junkera@ D fabiobt@ D leidegis@ D jarbasbueno@ D heluquisa2004@ D guig.soares@ D fhr1980@ D sirnagovino@ 邮件主题似乎是恶意网站的垃圾邮件负载。 标题如下: [root@vesta msglog]# exim -Mvh 1ZC6Ap-0005KE-Un 1ZC6Ap-0005KE-Un-H exim 93 93 <[email protected]> 1436188263 0 -helo_name stevedomain.com -host_address 46.177.21.185.51075 -host_name ppp046177021185.access.hol.gr -host_auth dovecot_plain […]

configurationExim使用Office 365中继电子邮件

我已经使用这篇文章configuration了exim: EXIM:中继到Office 365 我得到这个错误: 收到TLS证书状态响应,本身无法validation的fixed_login身份validation失败H = outlook-emeaeast2.office365.com [132.245.61.226] 535 5.7.3身份validation失败 我该如何解决这个问题?

最简单的Exim路由器,它只是添加自定义标题

我用我目前的解决scheme回答了这个问题,但正如我所说的,我对此并不满意。 对于“如何将自定义标题添加到所有外发邮件”这一问题的解决scheme,需要将headers_add参数添加到现有的Smarthost传输中。 不过,我可以看到更新或重新configuration在某些时候还原了我的编辑,而我不知道。 我曾希望创build一个最小的路由器,可以在链中尽早运行,只需添加所需的头文件,这个头文件可以添加到所有的邮件中,无论是本地还是远程交付。 但是我找不到任何运行的路由器的例子,添加头文件然后将所有的消息传递给链中的下一个路由器。 我创build了这个,这似乎工作,但我对Exim很新,如果有人能指出缺陷或更好的方法来达到预期的结果,将会很感激。 路由器是/etc/exim4/conf.d/router/01_exim4-config_dev_header : dev_header: debug_print = "R: dev_header for $local_part@$domain" driver = redirect headers_add = "X-Test-Dev-Header: true" data = $local_part@$domain self = pass