我想在我的 SQL 中记录发件人姓名、收件人姓名和投递时间 但我不知道我应该为此配置 postfix 或 dovecot 以及如何配置它们 谁能帮助我吗?
最佳答案
最直接且非侵入性的方法是将所有消息传递到syslog
。该功能已内置于 postfix
和 dovecot
中。说dovecot
配置应该是这样的:
. . . .
log_path = syslog
syslog_facility = mail
. . . .
syslog
可以将从某个二进制文件接收到的所有消息定向到管道。
mail.* |/tmp/maillog.pipe
然后一些脚本应该读取该管道,解析行并调用将数据存储到数据库中的 CLI mysql 客户端。
#!/bin/sh
while read LINE
do
# all the parsing should be written here
mysql -e "USE maillog; INSERT INTO $table VALUES ($a, $b, $c);"
# any additional proceeding can be performed here
done < /tmp/maillog.pipe
####
所有这些都不是一个可行的解决方案,而只是一个提示。具体配置和脚本代码取决于您的实际需求。
关于mysql - 如何配置postfix、dovecot邮件服务器在MySQL中保存日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53246810/