我运行一个一次性电子邮件服务,它接受所有传入的邮件,并将其转发到PHP脚本,该脚本将其存储在数据库中供人们查看。在此之前,我一直在与cPanel进行共享托管,这使得将电子邮件发送到脚本中变得非常容易。然而,现在我有了自己的VPS,而且它没有cPanel。我如何传送电子邮件到脚本?此外,如何将电子邮件传输到特定域的任何地址到我的脚本?您可以看到,除了主域之外,如果主域被阻塞,人们可以使用几个可选域,并且在每个域上,我希望任何地址都是可用的(xyz@ domain 1,abc@ domain 2,Anything别处@ domain 3)。
VPS安装了Ubuntu9.04,我一直在试验Postfix,但如果更容易的话,我可以切换到Exim或Sendmail。
发布于 2011-05-11 18:46:14
终于弄明白了。最后我用了Sendmail。我在sendmail.mc中打开了virtusertable特性(请参阅Sendmail网站上的信息),然后放入/etc/mail/virtusertable,行如下:
@disposaldomain.net parser@localhost
它将所有邮件传输到该域到用户“解析器”。然后,在/etc/mail/别名的末尾插入以下一行:
parser: "|/path/to/script/parser.php"
之后,我不得不运行这些命令(从/etc/mail):
makemap hash virtusertable.db < virtusertable
newaliases
/etc/init.d/sendmail reload
/etc/init.d/sendmail restart
成功了!
发布于 2011-02-02 10:07:17
大多数MDA允许您配置要使用哪个传递代理(MDA),我强烈建议使用procmail --它提供了大量的功能,例如配置它以使用spamassassin过滤传入邮件、将电子邮件转发到PHP脚本、发送自动回复、将副本转发给自己并将副本写入邮箱。
实际上,procmail实际上有它自己的编程语言--手册页并不公正。有一些可供阅读的书籍。或者尝试谷歌的文章。
大多数发行版都使用procmail作为MDA和一些MTA(特别是sendmail)。我会小心使用Exim (见其他帖子)。通常,由于后缀提供了自己的MDA,所以没有配置procmail -但它可以是易加。
请注意,MDA在MTA决定在何处传递消息后对消息进行操作。如果您想在传递之前过滤消息(例如,由您的MTA中继的消息),那么您可能应该查看milter。
https://serverfault.com/questions/229964
复制相似问题