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


retrieve webmail via php for use on a website

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

您已经在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实例。