这个问题更多地是关于一个概念而不是代码问题本身。我正在参与一些需要自定义 webmail 的项目,因为我是 Windows 用户,所以我决定使用 hMailServer + PHP 进入后端。但是,它只是出现了第一个疑问:hMailServer 为我提供了对 COM API 的支持,可以通过 PHP 访问该方法,这很好。因此,对于登录,我可以执行以下操作:
<?php
$obBaseApp = new COM("hMailServer.Application");
$obBaseApp->Authenticate("email@privmail.local", "12345") or die('Invalid user');
?>
要获取当前登录用户收件箱中的电子邮件,我需要执行以下操作:
$obBaseApp = new COM("hMailServer.Application");
$obBaseApp->Authenticate("email@privmail.local", "12345") or die('Invalid user');
$obDomain = $obBaseApp->Domains->ItemByName("privmail.local");
$obAccount = $obDomain->Accounts->ItemByAddress("email@privmail.local");
$obMessage = $obAccount->Messages;
$totalMessages = $obMessage->Count;
for ($i = 0; $i < $totalMessages; $i++)
{
echo $obMessage->Item[$i]->Subject;
}
好的,让我们想象以下场景:在登录页面中,我使用上面发布的第一个代码来检查登录是否有效......如果有效,我会重定向到收件箱页面,在那里我解析所有电子 -邮件...但是要做到这一点,我需要将用户名/密码保存在会话变量中,最糟糕的是:解密!这是正确的方法吗?