问题标签 [procmail]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - bash 中存在哪些注入漏洞(如果有),我该如何防范它们?
我有一个通过 procmail 启动的 bash 脚本。Procmail 将主题和来自电子邮件的字段作为参数传递给 bash 脚本。由于这些值没有以任何方式进行清理,我试图弄清楚 bash 中是否存在任何人可以利用的注入漏洞,如果是,我可以采取哪些措施来防止这些漏洞。这是一些示例代码来说明发生了什么:
此 bash 脚本将由 procmail 使用 .procmailrc 脚本调用,如下所示:
我想知道注入漏洞的两个领域是脚本的实例化:
以及脚本中变量的使用。
如果您好奇,这是让我想到这个问题的实际用例
email - Maildrop:按日期过滤邮件:标题
我正在将 getmail + maildrop + mutt + msmtp 链与存储在 Maildir 中的消息一起使用。非常大的收件箱困扰着我,所以我想像这样按日期组织邮件:
我已经搜索了很多并阅读了有关邮件过滤器语言的信息,但我仍然很难编写这样的过滤器。Maildrop 的邮件列表档案几乎没有这方面的内容(据我浏览它)。https://unix.stackexchange.com/questions/3092/organize-email-by-date-using-procmail-or-maildrop上有一些半解决方案,但我不喜欢它,因为我想使用“日期:”标题,我想按月份排序,如数字中的“YEAR.MONTH”。任何帮助、想法、链接、材料将不胜感激。
linux - procmail 没有正确执行脚本
我在从 procmail 本地传递的传入邮件中运行脚本(perl 和 ruby 失败)时遇到了一个奇怪的问题。
该系统是 CentOS 5.5,后缀作为我的邮件程序,然后设置了 .forward 以将电子邮件发送到 procmail。.procmailrc 和脚本与 Ubuntu 服务器上的工作设置相同。
这是 .procmailrc:
这是 perl 脚本:
然后在收到电子邮件时日志中的失败:
行尾都是 UNIX。该脚本从命令行运行良好。
如果我直接从命令行通过管道连接到 procmail,整个设置工作正常,但是当它作为本地交付过程的一部分被调用时,#! 脚本中似乎忽略了行。
如果我在管道中显式执行 perl,我可以运行 perl 脚本,如下所示:
……但我真的不想认输并那样做。
procmail - Procmail:移动到文件夹并标记为已读
一个简单的问题:我想将具有特定主题的电子邮件移动到一个文件夹中,然后将它们标记为已读。搬家对我有用
但是如何将邮件标记为已读?
email - 如何制作可扩展的后端 postfix 服务器解决方案?
这是我面临的问题。我们有一个后缀服务器,它需要解析从某个用户帐户转发的电子邮件并从中提取一些数据。通常每个用户大约有 200 封电子邮件。我们已经用 5 个用户进行了测试,这一切都很好,但是如果用户数量达到更大的数量,例如 10000 或 100000,该怎么办?您是否有任何想法如何使 postfix 解决方案具有可扩展性,以便它可以支持这种繁重的负载。
我们当前的 postfix 服务器资源是具有 512MB RAM 的 Ubuntu 10.04 机器。
最好的问候, Mladjo
procmail - Procmail 是否具有小写功能或类似功能?
我正在使用以下(经典)procmail 配方来捕获邮件列表电子邮件并按列表名称将它们归档到文件夹中:
问题是:如果列表名称从全小写变为 Firstlettercap,我最终会得到两个文件夹,一个用于“listname”,另一个用于“Listname”。
我想在最终交付规则中使用 $MATCH 变量之前将其小写,但我无法找到对 lc() 函数的引用或可用于执行此操作的正则表达式/替换。
下面的一条评论建议了这一点:
这似乎也不符合我的要求。不过,现在看,很明显,音译只发生在第一次出现 $MATCH 时,我的猜测是它根本没有改变它以便在文件夹分配行中使用。
更新#1:如果我尝试在文件夹分配行中使用 LISTID,我会得到类似“Bricolage.project.29601.lighthouseapp”的东西,而不仅仅是“Bricolage”,或者——我所追求的——只是“bricolage”。
exim - 邮件附件 killfile - 如何按文件名将签名附件列入黑名单
如何最好地实现一个最小的服务器端邮件过滤系统,它只做一件事:按名称删除签名附件。
一些同事的每封电子邮件都包含内嵌的“signature.gif”或“signature-nn.gif”(其中 nn 似乎会增加,直到他们的电子邮件客户端重新启动)。需要识别带有(有意义的)附件的邮件受到所有电子邮件都带有(无意义的)附件这一事实的阻碍。
理想情况下,我希望能够将新文件名添加到黑名单中,以便可以轻松地在邮件收据上删除新的嵌入式图形。
Mailserver 是 Debian Linux 上的 Exim,因此像 procmail 这样的服务器端邮件过滤器非常适合。客户端我们有各种各样的邮件应用程序,所以客户端解决方案不太合适。
如何使用 Exim + Procmail (或同等产品?)
php - 使用 procmail 调用 php 脚本
我正在尝试进行一些自定义电子邮件转发。#1 我在使用 qmail 和可选 procmail 的共享服务器上。
我想要完成的是根据时间表对一个地址进行一些自定义电子邮件转发。例如,我有一个每个工作日都在工作的员工的时间表,我有一个 php 脚本,它可以随机选择今天工作的员工的电子邮件地址。
所以我试图在 procmail 中调用该脚本,并在转发行输出结果(这是一个单一的电子邮件地址):
例子:
这是行不通的。完全没有。我也试过:
以及将其管道输送到前线:
我在这里完全脱离了我的元素......我什至尝试不使用procmail,我只是将整个电子邮件从qmail传送到一个php脚本。我需要标题保持完整,就像一个普通的转发一样,这在 PHP 中被证明是困难的,而且有点超出了我的范围。(我设法创建了一个无限的电子邮件循环)所以,我不想再试一次了。
我可以尝试在我从未使用过的 perl 中编写脚本,但我需要可以从 Web 界面管理时间表,或者至少以用户友好的方式进行管理。
在这一点上,任何帮助或建议将不胜感激,谢谢
编辑:
好吧,由于我无法将代码放在评论中,所以我将在这里进行编辑。
现在在我的日志中得到这个:
当我与 :0fw 一起使用时,我得到:
编辑:想通了!
经过多次反复试验,找到了正确的方法。
根本不要使用管道,你确实需要!前进符号:
最终规则:
如此简单......我有点生气,我花了几个小时才弄清楚这一点,感谢大家帮助我指出正确的方向!
bash - Send a MIME file
i need to do some operation over each email i received on a specific adress, first a i made a rule in procmail and pipe the mail in a bash file
| mybash.sh
In the bash file i save the mail in a tmp folder, it seem's to be a MIME file that i can open like a mail with mutt :
mutt -f mytmpmail
I now need to send this mail again, but i tryed with msmtp
mytmpmail | msmtp address@example.com
But i the received mail the MIME mail appear as text in the body, i tried with mailx and it was the same.
With mutt -s "subject" -a mytmpmail adress@ex.com
it appear as a attachment but it's still a text file...
I only need to forward the mail "as it" because i extract attachment of the mail and if attachment don't meet the required specification i need to send it elsewhere.
ps : sorry for my english
email - procmail 并传送到 IMAP 服务器?
我运行自己的邮件服务器。它使用 procmail 过滤传入的邮件,然后将其存储在 maildirs 中并使用 IMAP 从我的 MUA 中获取。我有大约 1.5GB 的电子邮件是 135000 个 inode。
这一切都很好。但是,我宁愿停止使用 maildir 并改用更高效的东西——例如 maildb 或 Dovecot 的 dbox。不幸的是,procmail 只能传送到非常有限的一组后备存储格式(Maildir、MH 和 mbox、AFAICT)。
我真正想做的是说服 procmail 通过 IMAP 发送电子邮件,而不是直接将其写入后备存储;这意味着我可以随时更改后备存储格式,而无需重新配置 procmail。但我找不到任何方法来做到这一点。有任何想法吗?
(我也对任何其他类似 procmail 但支持 IMAP 的邮件过滤工具感兴趣。我知道的唯一其他过滤工具是 maildrop --- 但它与 procmail 有类似的限制。)