最近学习php,做点练习,呵呵需要:
 我有2个自己服务器的http邮箱,比如
 hello_1@localhost
 hello_2@localhost 每次查看新邮件都要打开两个邮箱分别查看。现在自己做一个运行于apache的mlog.php,登录了两个邮箱,并返回信息。
但不知如何保存mlog.php对这两个邮箱的登录状态,供随后的查询新邮件
以及用户写了一个email,由msend.php通过 hello_1@localhost
 hello_2@localhost各自发送。即
mlog.php模拟登录两个邮箱,并返回一个可以写邮件的页面,用户写好邮件后,发送给msend.php由它通过两个邮箱分别发送出去。
这个过程中mlog.php如何将邮箱的登录状态保存以供msend.php,msend.php不用再次登录邮箱。如果解决此关键问题,可以再加分数(1000分以内随便开口)。

解决方案 »

  1.   

    用session存起来(如果页面退出的话,下次依然自动登录那就也设置cookie)用session/cookie将要存的东西存起来,下次访问页面再取出来,设置setcookie('username', 'zhangsan');
    取出:$_COOKIE['username'];
      

  2.   

    和楼上的想法一致。可以用session保证一个数组分别描述两个邮箱。发送的时候取出数组,分别以这两个from发送。
      

  3.   

    为什么不用pop和smtp协议直接连接邮件服务器呢?为什么非要走http模拟登录呢?
      

  4.   

    smtp是socket协议,断开了就要重新登陆;如果是通过apache运行的程序,一旦服务器返回数据,客户端就不能再向服务器提交数据,这是http协议的限制.如果想php连接邮件服务器之后不端开,那么你的php就要以cgi方式(命令行模式)运行,settimelimit 0;假设你让用户写邮件的地址是index.php;那么index.php可以用system('/usr/local/php/bin/php mlog.php')运行mlog.php;
    用户写好邮件之后,保存到数据库;
    mlog.php不停循环,发现有邮件要发送,就发送之...
      

  5.   

    我也知道可以自己架邮件服务器,自己搞,不需要这样费事。呵呵可现在是基于别人的http邮件服务器(不提供pop3服务)。而且是为了学习php嘛!我是在自己的apache服务器上运行mlog.php模拟登录sample.com的http服务页面,mlog.php有办法使sample.com认为是我这边是一个没有掉线的正常用户吗?
      

  6.   

    那就用模拟登录在服务器上生成cookie
      

  7.   

    你既然可以成功登陆,说明你已经获取到登陆成功页面的http返回头的Set-cookie项,原样写入http 发送头的cookie项,发送至远程的msend.php页面。注意去掉Set-cookie中的path=/;domain=...;这些东西,只保留cookie的key和value,原样发送回去服务器页面。
      

  8.   

    mlog.php模拟登录两个邮箱,并返回一个可以写邮件的页面,用户写好邮件后,发送给msend.php由它通过两个邮箱分别发送出去。
    这个过程中mlog.php如何将邮箱的登录状态保存以供msend.php,msend.php不用再次登录邮箱。
    ==============================================================================================
    厄,没注意看。
    这样的话,你第一次成功登陆了远程服务器可以写邮件的页面,这时候页面表单form的action是远程服务器的页面,如果直接提交数据,那session肯定没法延续的。
    你可以把这个form的action改成本地的某个页面,再加几个hidden的input框,存储登陆成功后获取到的http 返回头的Set-cookie项的串,类似
    <input type="hidden" name="cookies[]" value="a=1;b=2;c=3"/>
    这样提交到本地页面,再次模拟POST发送到远程的邮件发送页面,肯定得写入http头cookie项,因为这样才能把session id发送过去,session才可延续。
      

  9.   

    在第一次登陆时,把那边返回的cookie给保存下来。用户写好邮件后,在你发送邮件的页面,把开始保存的cookie一并发送过去,就可以了。但这种只限于邮件服务器的web是cookie验证。
      

  10.   

    这功能其实跟PHP没什么关系。楼上的都说的很清楚