我希望任何人向 test@example.com 发送电子邮件,并且服务器可以收到邮件,因此我可以使用一些服务器端脚本语言(如 Ruby)来解析电子邮件的内容。
Ruby 解决方案会很棒。
您可以在您的服务器上安装 qmail,并将其配置为将传入的邮件通过管道传输到您的域到您的 ruby 脚本的 STDIN。
如果您还没有这样做,请为您的域创建一个指向您的邮件服务器 IP 的 MX 记录。然后,以 root 身份登录服务器,然后按照http://lifewithqmail.org/lwq.html#installation中的说明安装 qmail
配置 qmail 以接受 *@yourdomain.tld (catchall) 的传入邮件,并将所有传入邮件转发到 /home/yourhomedirectory/yourscript.sc 中的脚本:
add the following line to /var/qmail/control/me:
hostname.yourdomain.tld
add the following line to /var/qmail/control/defaultdomain:
yourdomain.tld
addd the following line to /var/qmail/control/virtualdomains
yourdomain.tld:yourusername
add the following line to /var/qmail/control/rcphosts:
yourdomain.tld
restart qmail:
qmailctl stop
qmailctl stat
注销服务器,然后以您的用户名重新登录。创建一个文件 /home/yourusername/.qmail-default,包含以下行: | /home/yourhomedirectory/yourscript.sc
创建 /home/yourhomedirectory/yourscript.sc 脚本来处理传入的邮件。为所有用户启用脚本的可执行权限:chmod a+x /home/yourhomedirectory/yourscript.sc
这里的所有都是它的。传入您的域的邮件将通过 qmail 传送到此脚本的 STDIN。
安装和配置 SMTP 服务器。SMTP 服务器通常可以非常广泛地配置,如何处理应该在本地传递的邮件。一种这样的选择是通过调用 ruby 脚本在本地传递邮件。流行的 SMTP 服务器是 postfix、courier 和 qmail。有关如何设置邮件服务器的详细信息取决于您使用的是哪一个。