代码之家  ›  专栏  ›  技术社区  ›  Aakash Goel

如何在Perl脚本中维护邮件收件人列表?

  •  1
  • Aakash Goel  · 技术社区  · 14 年前

    My Perl script 要监视Unix上的目录,请存储在其监视的目录更新时向其发送通知邮件的用户列表。

    这是使用的结构

    迪尔蒙

    my $subject = '...';    
    my $msg     = '...';
    my $sendto  = 'a@server.com b@server.com c@server.com';
    my $owner   = 'me@server.com';
    
    ...    
    
    open my $fh, "|-", "mail", "-s", $subject, $owner, "-c", $sendto
        or die "$0: could not start mail: $!";
    
    print $fh $msg or warn "$0: print: $!";
    close $fh;
    

    所以,现在,对于每个新用户, 我要将通知邮件发送到,我需要转到代码并将它们添加到 $sendto . 这对我来说很好,但是我希望稍后将该实用程序分发给用户,并且不希望他们手动将地址添加到列表中,至少不要直接编辑Perl代码。

    我能想到两种选择

    1. 维护包含收件人列表的外部文件。我可以添加一个标志,这样当用户说 dirmon.pl -a d@server.com ,电子邮件地址将附加到文件中,下次发送邮件时,邮件也将发送给此收件人。( dirmon.pl -r d@server.com 从列表中删除用户)。唯一的问题是,我需要在脚本中多有一个外部文件,我正试图将其最小化。

    2. 我可以在 "Can a perl script modify itself?" . 我不确定这是不是个好主意。

    第一条路是最好的路吗?有没有更好的方法来维护收件人列表?

    2 回复  |  直到 12 年前
        2
  •  2
  •   dawg    14 年前