通过 php 检索网络邮件以在网站上使用

You*_*eat 3 php user-interface information-retrieval webmail

首先,我首先要说的是,我对电子邮件和电子邮件服务器及其工作方式完全是菜鸟。我想做的是从我的托管服务器(hostgator)检索我的电子邮件并通过php. 我正在为我的几个合作伙伴建立一个网站,他们希望用户界面尽可能简单,因此我不希望他们必须登录cpanel才能检查电子邮件,我希望电子邮件显示在网站管理小组我一直在研究什么建议?

Joe*_*ren 7

您已经在 cpanel 中内置了完整的电子邮件查看器,那么为什么不利用它呢?使用以下代码确定您的收件箱中有多少封未读电子邮件,并生成一个链接,无需输入您的用户名/密码即可打开您的网络邮件:

    $emailAddress = 'email@domain.com'; // Full email address
    $emailPassword = 'yourpassword';        // Email password
    $domainURL = 'domain.com';              // Your websites domain
    $useHTTPS = true;                       // Depending on how your cpanel is set up, you may be using a secure connection and you may not be. Change this from true to false as needed for your situation

    /* BEGIN MESSAGE COUNT CODE */

    $inbox = imap_open('{'.$domainURL.':143/notls}INBOX',$emailAddress,$emailPassword) or die('Cannot connect to domain:' . imap_last_error());
    $oResult = imap_search($inbox, 'UNSEEN');

    if(empty($oResult))
        $nMsgCount = 0;
    else
        $nMsgCount = count($oResult);

    imap_close($inbox);

    echo('<p>You have '.$nMsgCount.' unread messages.</p>');

    /* END MESSAGE COUNT CODE */

    echo('<a href="http'.($useHTTPS ? 's' : '').'://'.$domainURL.':'.($useHTTPS ? '2096' : '2095').'/login/?user='.$emailAddress.'&pass='.$emailPassword.'&failurl=http://'.$domainURL.'" target="_blank">Click here to open your inbox.</a>');
Run Code Online (Sandbox Code Playgroud)

当然,以明文形式存储密码并不是最佳实践,因此您可能需要想出一个加密密码的解决方案,但您可以使用此示例来开始。

另外,您需要在 php 中启用 php_imap.dll 才能使消息计数代码正常工作。如果您不想或无法启用此功能,则可以删除消息计数代码之间的代码。到您的网络邮件的直接链接应该适用于任何 cpanel 实例。