通过php检索webmail以便在网站上使用

时间:2013-11-26 23:46:26

标签: php user-interface information-retrieval webmail

首先让我先说一下电子邮件和电子邮件服务器上的总菜单以及它们是如何工作的。 我想做的是从托管服务器(hostgator)检索我的电子邮件,并通过php在我的网站管理面板中显示。我正在为几个矿山的合作伙伴建立一个网站,他们希望ui尽可能简单,因此我不希望他们必须登录cpanel检查那里的电子邮件我希望有电子邮件要在网站管理面板中显示我一直在处理任何建议吗?

1 个答案:

答案 0 :(得分:3)

您已经在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>');

当然,以明文形式存储密码并不是最佳做法,因此您可能想要提供加密这些密码的解决方案,但您可以使用此示例开始。

此外,您需要在php中启用php_imap.dll才能使消息代码生效。如果您不想或不能启用此功能,则可以删除MESSAGE COUNT CODE之间的代码。您的网络邮件的直接链接应适用于任何cpanel实例。