小编Gee*_*man的帖子

有没有比postcat更好的工具来查看postfix邮件队列文件?

所以今天早上我接到一个电话,询问客户是否需要查看他们在我们的辅助邮件服务器上等待发送的电子邮件.他们的主服务器的链接已经(仍然)已经停止了两天,他们需要看到他们的电子邮件.

所以我编写了一个快速的Perl脚本,将mailq与postcat结合使用,将每个电子邮件的地址转储到单独的文件中,然后将其关闭并发送出去.可怕的代码,我知道,但这很紧急.

我的解决方案工作正常,因为它至少提供了原始视图,但我想今晚如果我有一个解决方案可以提供他们的电子邮件附件并且可能删除一些"垃圾"标题文本也会很好.大多数重要的电子邮件似乎都附有PDF或类似内容.

我一直在环顾四周,但查看队列文件的唯一方法是我可以看到的是postcat命令,我真的不想编写自己的解析器 - 所以我想知道你们中是否有人已经这样做过,或者知道更好的命令使用?

这是我当前解决方案的代码:

#!/usr/bin/perl

$qCmd="mailq | grep -B 2 \"someemailaddress@isp\" | cut -d \" \" -f 1";

@data = split(/\n/, `$qCmd`);
$i = 0;

foreach $line (@data)
{
    $i++;

    $remainder = $i % 2;
    if ($remainder == 0)
    {
            next;
    }

    if ($line =~ /\(/ || $line =~ /\n/ || $line eq "")
    {
        next;
    }
    print "Processing: " . $line . "\n";
    `postcat -q $line > $line.email.txt`;
    $subject=`cat $line.email.txt | grep "Subject:"`;
    #print "SUB" . …
Run Code Online (Sandbox Code Playgroud)

email perl parsing postfix-mta message-queue

8
推荐指数
1
解决办法
5196
查看次数

具有不同字段集的记录的数据库设计

问题

1) 我正在寻找一种适当的方法来设计Web应用程序,特别是数据库架构,以便我可以拥有一个包含给定服务的所有核心字段的基表,然后根据服务的类型,我将需要一组额外的字段来与服务关联。

我需要以一种能够直接执行搜索并提供合理性能的方式来执行此操作。我可能正在考虑某种类型的全文搜索,但该应用程序最多只有 5 个并发用户。

我的应用程序的最终目标是能够在整个数据库中搜索任何给定的关键字并返回所有相关记录。我最初希望将每种服务类型的设置字段拆分为具有自己的列的单独表,但我认为这样做可能会导致更复杂的搜索查询(许多联接)或要运行的更多查询每次搜索。

对于提出的任何解决方案,您能否具体说明为什么您认为这是一个合适的解决方案?

2) 我的另一个问题(希望下面会变得清楚)是我的设计当前由一个“服务类型”表组成,我将在其中定义每个产品的核心类型,其中每个服务都是给定产品的“实例” 。

我的问题是,如果我同时拥有产品和服务类型表,我感觉我可能最终会做大部分重复的事情。因此,避免这种重复是我在设计中试图实现的另一个主要目标。

更多细节

我目前正在编写一个自定义 Web 应用程序,用于跟踪按每个客户提供的服务,不仅用于发票(计费周期、开始/结束日期、价格),还用于这些服务的文档(关联的用户帐户、IP地址、实物资产等)。

每个服务都基于一个“产品”表,该表定义了基本产品的名称、价格、计费持续时间、描述等...我们可以有多个相同类型的产品(例如,对于给定产品的不同计划)类型)。例如,我们有以下产品:

  • 共享虚拟主机计划一
  • 共享虚拟主机计划二
  • 共享虚拟主机计划三
  • 专用服务器计划
  • 虚拟独享服务器方案一
  • 虚拟专用服务器方案二

现在我遇到的问题是,我们有许多对于任何给定服务都是通用的字段,但我们也有许多字段会根据正在跟踪的服务的“类型”而变化。根据服务的类型,我将显示所有服务的基本表单,以及用于添加/编辑等的适当表单...

例如,我们有以下服务类型,每个产品(如上所示)都与这些核心服务类型之一相关:

  • 共享虚拟主机
  • 专用托管
  • 虚拟专用主机
  • 宽带数字用户线路
  • ...

我可能的解决方案

当前的解决方案 - 多个表

目前,在我的数据库中,我有:

服务类型

  • 服务类型ID INT PK
  • 类型 VARCHAR(40)

产品

  • 产品ID INT PK
  • 名称 VARCHAR(40)
  • 描述文本
  • 价格小数
  • 计费持续时间 INT
  • 类型ID INT (FK ServiceTypes.ServiceTypeID)

服务

  • 服务 ID INT PK
  • ProductID INT(FK:产品.产品ID)
  • 名称 VARCHAR(40)
  • 描述文本
  • 价格小数
  • 计费持续时间 INT
  • 主动双边投资协定
  • 开始日期日期时间
  • 结束日期日期时间

这些是任何服务的主表,然后我还有用于扩展属性的附加表:

服务ADSL信息

  • ServiceADSLInfoID INT PK
  • ServiceID INT(外文:Service.ServiceID)
  • FNN VARCHAR(10) …

php mysql database-design application-design

5
推荐指数
1
解决办法
753
查看次数