我想将以下终端命令集成到 Perl 脚本中。
终端命令:
mutt -s "User Monitoring" -a "/home/mipa/Documents/System_Monitoring/protocol_name.csv" -- mipa@localhost.localdomain
该命令将包含文件附件的本地邮件发送给同一系统上的用户。
虽然我的命令有一个小问题。它似乎需要更多的用户交互,而不仅仅是这里列出的命令。该命令要求用户按照菜单确认值并点击“y”键发送。
我的问题是双重折叠的。是否有一个类似的邮件命令,不需要用户交互,只需遵循预定义标志的单个命令即可工作?我如何将此命令集成到 Perl 脚本中,在那里我可以选择文件名,然后接收用户发出命令?
高度赞赏任何有关可能解决方案的指导。
答案 0 :(得分:0)
--
?这可能令人困惑mutt
。mutt
发送邮件的建议。答案 1 :(得分:0)
我更喜欢使用MIME::Lite来发送电子邮件,而不是产生外部命令,从而避免了您遇到的问题。 MIME :: Lite能够处理带附件的电子邮件。
这是一个简单的例子:
#!/usr/bin/perl
use strict;
use MIME::Lite;
my $msg = MIME::Lite->new(
To => 'foo.bar@foobar.com',
Subject => 'Test message with attachments',
Type => 'multipart/mixed'
);
$msg->attach(
Type => 'TEXT',
Data => "Here's the file you wanted"
);
$msg->attach(
Type => 'image/png',
Path => 'somefile.png',
Filename => 'somefile.png',
Disposition => 'attachment'
);
$msg->send();
这会发送包含少量文字和单个附件的邮件。
在MIME::Lite的POD中提供了更多示例。