Perl 如何实现侦听新邮件然后执行操作的脚本
我有一个ApacheJames邮件服务器设置,我想创建一个脚本,该脚本将侦听新邮件,然后与星号服务器通信,以拨打用户电话号码并读取邮件。我认为这是可能的,但找不到任何信息。我一直在为其他任务使用perl脚本,所以如果我能用perl实现这一点,那就太好了 提前感谢一个解决方案是设置一个cron作业来运行一个perl脚本,该脚本使用类似于Perl 如何实现侦听新邮件然后执行操作的脚本,perl,email,james,Perl,Email,James,我有一个ApacheJames邮件服务器设置,我想创建一个脚本,该脚本将侦听新邮件,然后与星号服务器通信,以拨打用户电话号码并读取邮件。我认为这是可能的,但找不到任何信息。我一直在为其他任务使用perl脚本,所以如果我能用perl实现这一点,那就太好了 提前感谢一个解决方案是设置一个cron作业来运行一个perl脚本,该脚本使用类似于Mail::POP3Client的内容来检查新消息,并使用(可能)Asterisk::AGI向Asterisk发送内容。如果CPAN模块不能满足您的需要,您可以始终
Mail::POP3Client
的内容来检查新消息,并使用(可能)Asterisk::AGI
向Asterisk发送内容。如果CPAN模块不能满足您的需要,您可以始终让perl脚本执行系统
调用,以与能够检查POP或与Asterisk交互的命令行工具交互。您可以用来轮询邮箱中的消息。或者,如果邮箱支持IMAP,并且您希望持续监视它,那么可以使用IMAP模块吗
我只是在谷歌上搜索[Asterisk Perl],并出现在第一页。它描述了如何使用模块使用Perl连接到Asterisk服务器
最后,您需要一个文本到语音的应用程序。我肯定有很多这样的。它们可能不会用Perl编写,但可能存在用于它们的Perl接口。我想最好的方法是用java编写一个,并将其置于配置中,使其能够侦听根处理器中的所有邮件 步骤如下所示:
import org.apache.mailet.*;
public class myMailet extends GenericMailet {
private String aParameter;
@Override
public void init(MailetConfig cfg) throws MessagingException {
super.init(cfg);
aParameter = getInitParameter("myNeatParameter"); // use this if you need to use some parameters specified inside the mailetcontainer.xml
}
@Override
public void service(Mail email) throws MessagingException {
doYourThingWith(email);
}
private void doYourThingWith(Mail email){
// TODO something with the email
}
}
<mailet match="All" class="myMailet">
<myNeatParameter>some value</myNeatParameter>
</mailet>
一些价值
作为根处理器的子元素(或您认为合适的任何元素)